我有一个网格视图,其中的列是数据绑定项模板。 我需要将控件(Hyperlink)的客户端ID及其值附加到请求对象,同时将其发布回服务器(因为Viewstate已关闭)。 使用客户端ID,我可以编写代码来检索超链接'text'字段的值。
这有可能吗?或者,你们可以建议我采用另一种方法吗?
答案 0 :(得分:1)
是的,这是可能的。
让一些JavaScript将控件的ID保存到表单中的隐藏输入字段中。然后,您可以从服务器上的Request对象中读取已发布的表单字段。
答案 1 :(得分:0)
使用GridView的ItemDataBound事件,然后对超链接执行findcontrol并将navigationurl设置为格式正确的链接
这不好,但确实有效。
private void gridClientAccounts_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView myRow = (DataRowView)e.Item.DataItem;
var unlockButton = (HyperLink)e.Item.FindControl("nameId");
string url = string.Format("~/folder/page.aspx?id={0}¶m2={1}", myRow["clientId"], unlockButton.ClientID);
unlockButton.NavigateUrl = url ;
}
}
带超链接:
< ASP:TemplateColumn中>
< HeaderTemplate中>
< asp:Label ID =“lbheader”runat =“server”> headertext< / asp:Label>
< / HeaderTemplate中>
<&的ItemTemplate GT;
< asp:HyperLink ID =“nameId”runat =“server”CssClass =“link”Text ='<%#DataBinder.Eval(Container,“DataItem.NAME”)%>'>
< / ASP:超链接>
< / ItemTemplate中>
< / ASP:TemplateColumn中>