首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RowCommand中访问数据

在RowCommand中访问数据
EN

Stack Overflow用户
提问于 2010-01-11 16:40:23
回答 3查看 1.7K关注 0票数 0

我对C#很陌生,在VB中我可以做以下工作:

代码语言:javascript
复制
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#

代码语言:javascript
复制
Label label1 = (Label)e.Item.FindControl("label1"); 

代码语言:javascript
复制
Label label1 = (Label)e.Row.FindControl("label1"); 

我没有行或物品可用

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-11 18:28:37

我在按钮中添加了一个CommandArgument,并且能够得到我需要的东西:

网格视图中的.aspx

代码语言:javascript
复制
  <asp:Button ID="btnActive" CommandArgument='<%# Eval("Id")%>' CommandName='<%# Eval("Activity")%>' Text='<%# Eval("Activity")%>' runat="server" />

然后在RowCammand中的.aspx.cs中

代码语言:javascript
复制
  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);

                    }
票数 0
EN

Stack Overflow用户

发布于 2010-01-11 17:22:00

Label1在哪里存在?你能把你的C#例子发出来吗?它也应该是DataGridCommandEventArgs类型,所以它可能是一个不同的论点?我不明白,作为相同的事件arg类型,项目是如何不存在的。如果不看到完整的C#示例,很难判断。

票数 0
EN

Stack Overflow用户

发布于 2010-01-11 18:11:41

这是我的代码:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
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);
                }
            }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2043231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档