因为我正在尝试使用<%# 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标记不是很好。如果没有可能,任何机构都可以告诉我,这背后的原因是什么原因不允许像这样分配?
有人能告诉我吗?答案 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
}
}
您将获得单击按钮的行。你可以获得行并操纵你想要的沃特。