将客户端控件ID和值附加到请求对象…可能
本文关键字:请求 对象 可能 控件 客户端 ID | 更新日期: 2023-09-27 18:16:39
我有一个网格视图,其中的列是数据绑定项模板。我需要将控件的客户端Id (Hyperlink)及其值附加到请求对象,同时将其发送回服务器(因为Viewstate已关闭)。使用客户端Id,我可以编写代码来检索超链接'text'字段的值。
这有可能吗?或者,你们能给我建议另一种方法吗?
是有可能的。
使用一些JavaScript将控件的ID保存到表单中的隐藏输入字段中。然后,您可以从服务器上的Request对象中读取提交的表单字段。
使用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 ;
}
}
超链接:
& lt; asp: TemplateColumn>
& lt; HeaderTemplate>asp:Label ID="lbheader" runat="server">headertext& lt;/HeaderTemplate>
& lt; ItemTemplate>
& lt;/ItemTemplate>
& lt;/asp: TemplateColumn>