試試這個:
<form id="form1" runat="server">
<asp:DropDownList runat="server" ID="DropDownList">
<asp:ListItem Text="1" Value="1" />
<asp:ListItem Text="2" Value="2" />
<asp:ListItem Text="3" Value="3" />
</asp:DropDownList>
<asp:GridView runat="server" ID="sample" AutoGenerateColumns="true">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink" runat="server"
OnDataBinding="HyperLink_DataBinding"
NavigateUrl='<%# String.Format(
"Default.aspx?Param1={0}",
Server.UrlEncode(Container.DataItem.ToString())) %>'
Text='<%# Container.DataItem %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
而這後面的代碼:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
sample.DataSource = new string[] { "A", "B", "C" };
sample.DataBind();
}
}
protected void HyperLink_DataBinding(object sender, EventArgs e)
{
((HyperLink)sender).Attributes["onclick"] =
"alert(this.href + '&Param2='+ " + DropDownList.ClientID + ".value)";
//
}
}
您需要使用Javascript,因爲您的下拉值只能在客戶端知道。 – 2010-07-09 21:49:33