我对C#很陌生,在VB中我可以做以下工作:
Protected Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
If e.CommandName = "CommandName" Then
Dim label1 As Label = e.Item.FindControl("label1")
Response.Write(label1.Text))
End If
End Sub在C#和RowCommand中,我不能使用findcontrol来访问控件值。我想要得到两个标签的值,以便在调用行命令中的方法时可以使用它们
更新: In C#
Label label1 = (Label)e.Item.FindControl("label1"); 或
Label label1 = (Label)e.Row.FindControl("label1"); 我没有行或物品可用
发布于 2010-01-11 18:28:37
我在按钮中添加了一个CommandArgument,并且能够得到我需要的东西:
网格视图中的.aspx
<asp:Button ID="btnActive" CommandArgument='<%# Eval("Id")%>' CommandName='<%# Eval("Activity")%>' Text='<%# Eval("Activity")%>' runat="server" />然后在RowCammand中的.aspx.cs中
protected void gridview_RowCommand(object source, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
if (e.CommandName == "Disable")
{
string[] args = e.CommandArgument.ToString().Split(',');
Guid gArticleId = new Guid(args[0]);
Response.Write(gArticleId);
}发布于 2010-01-11 17:22:00
Label1在哪里存在?你能把你的C#例子发出来吗?它也应该是DataGridCommandEventArgs类型,所以它可能是一个不同的论点?我不明白,作为相同的事件arg类型,项目是如何不存在的。如果不看到完整的C#示例,很难判断。
发布于 2010-01-11 18:11:41
这是我的代码:
<asp:GridView ID="gridview1" runat="server" Width="98%" AutoGenerateColumns="false"
AllowPaging="True" PageSize="10" PagerStyle-HorizontalAlign="center"
OnRowCommand="gridView_RowCommand"
>
<columns>
<asp:TemplateField HeaderText="Active" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblArticleId" Text='<%# Eval("Id")%>' Visible="false" runat="server"></asp:Label>
<asp:Button ID="btnActive" CommandName='<%# Eval("Activity")%>' Text='<%# Eval("Activity")%>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</columns>
</asp:GridView>.cs:
protected void gridView_RowCommand(object source, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
if (e.CommandName == "Disable")
{
UpdateArticleVisibility(true, [lblArticleID.Text value], gOrgId);
}
if (e.CommandName == "Enable")
{
UpdateArticleVisibility(false, [lblArticleID.Text value], gOrgId);
}
}https://stackoverflow.com/questions/2043231
复制相似问题