我在ListView中有一个HyperLink控件,我需要传递一些查询字符串参数。
<asp:HyperLink ID="HyperLink" runat="server" NavigateUrl='<%# string.Format("Page.aspx?Param1={0}", Server.UrlEncode(Container.DataItem.ToString())) %>'
Text='<%# Container.DataItem %>' />
第一个参数基于LV中的当前DataItem值。
假设我想在同一页面的DropDownList中使用Selected.Item.Text中的值设置第二个参数,HyperLink将如何显示?
我花了太多时间在这上面,所以我需要一些帮助...
...日Thnx
答案 0 :(得分:0)
试试这个:
<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)";
//
}
}