将客户端控件ID和值附加到请求对象…可能

本文关键字:请求 对象 可能 控件 客户端 ID | 更新日期: 2023-09-27 18:16:39

我有一个网格视图,其中的列是数据绑定项模板。我需要将控件的客户端Id (Hyperlink)及其值附加到请求对象,同时将其发送回服务器(因为Viewstate已关闭)。使用客户端Id,我可以编写代码来检索超链接'text'字段的值。

这有可能吗?或者,你们能给我建议另一种方法吗?

将客户端控件ID和值附加到请求对象…可能

是有可能的。

使用一些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}&param2={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;/asp: HyperLink>
& lt;/ItemTemplate>
& lt;/asp: TemplateColumn>