我们可以使用Eval块设置标签ID吗?

时间:2012-02-21 09:45:25

标签: javascript jquery asp.net

  

可能重复:
  JQUERY: Finding by control ID

因为我正在尝试使用<%# Eval("SomeColumnName") %>设置标签ID。我不知道有可能吗?我需要给UserID提供Some Suffix,比如UserID。

例如:<asp:Label Id="ss_<%# Eval("UserID") %>" runat="server" />

我把它放在gridview中。所以它将生成随机id,基于container_control_somerow_someID格式,我认为将在最后分配UserID,以便它是唯一的。然后我可以通过使用indexof方法轻松地轻松获取客户端ID。

我在gridview中有一个标签,在标签旁边我有一个按钮。每当我点击按钮,我都需要发送标签文本或ID。

有可能吗?现在它正在给出错误,因为Asp.net标记不是很好。如果没有可能,任何机构都可以告诉我,这背后的原因是什么原因不允许像这样分配?

有人能告诉我吗?

2 个答案:

答案 0 :(得分:1)

是否必须是asp:Label和runat = server?如果没有,你可以用普通标签(或跨度)来做。

<label id='ss_<%# Eval("UserID") %>' />

注意引号。

答案 1 :(得分:0)

根据您的要求,您可以使用ASP.NET的RowCommand帮助

<asp:GridView id="grdCommodityTypeSize" runat="server" AllowPaging="True" 
  AllowSorting="True" AutoGenerateColumns="False" 
  DataKeyNames="nCommodityTypeSizeID" EnableViewState="False" Width="500px" 
  DataSourceID="odsCommodityTypeSize" PageSize="8" 
  OnRowDataBound="grdCommodityTypeSize_RowDataBound" 
  OnRowUpdating="grdCommodityTypeSize_RowUpdating" 
  OnRowDeleted="grdCommodityTypeSize_RowDeleted" 
  OnRowUpdated="grdCommodityTypeSize_RowUpdated" 
  OnRowCommand="grdCommodityTypeSize_RowCommand"> 
<asp:Button ID="btnTypeSizeCommodity1" runat="server" Text="Go" 
  CommandName="Go" CommandArgument='<%# Eval("nCommodityTypeSizeID") %>' /> 
</asp:GridView>

在后面的代码中你可以去找

 if (e.CommandName.ToUpper() == "GO") 
    { 
        int _rowIndex = -1; 
        Button btn = (Button)e.CommandSource; 
        for (int i = 0; i < grdCommodityTypeSize.DataKeys.Count; i++) 
        { 
            if (Convert.ToInt32(grdCommodityTypeSize.DataKeys[i].Value) == 
                      Convert.ToInt32(e.CommandArgument)) 
            { 
                _rowIndex = i; 
                break; 
            } 
        } 
        if (_rowIndex > -1) 
        { 
            //ur code

        } 
    } 

您将获得单击按钮的行。你可以获得行并操纵你想要的沃特。