【问题标题】:ASP.NET Nested Repeaters handling controls within outer repeaterASP.NET 嵌套中继器处理外部中继器中的控件
【发布时间】:2012-05-16 21:48:02
【问题描述】:

我有两个嵌套的中继器,比如说:外部的一个用于帖子,内部的一个用于 cmets。 外部转发器包含两个 Div:一个用于内部转发器,另一个包含一个文本框和一个用于添加评论的按钮。

问题是:当我点击按钮时,它没有任何作用(它必须访问数据库并添加评论),我添加了这个事件但它根本没有到达它。

void btnComment_Command(object sender, CommandEventArgs e)
    {
        for (int i = 1; i <= commentRepeater.Items.Count; i++)
        {
            if (e.CommandName == i.ToString())
            {
                TextBox txtComment = (TextBox)commentRepeater.Items[i].FindControl("txtComment");

            }

        }

    }

请我帮忙。

【问题讨论】:

  • 设置一个断点,看看你是否可以通过循环中的 if 语句。
  • 你能添加中继代码吗?我们能看到的越多,我们能提供的帮助就越多。
  • mr.edocetirwi 我无法通过命令本身!

标签: c# asp.net


【解决方案1】:

需要设置外中继器的 OnItemCommand 值。

<asp:Repeater OnItemCommand="btnComment_Command" .... >

ItemCommand函数应该是这样的(注意参数不同):

void btnComment_Command(Object Sender, RepeaterCommandEventArgs e) {...}

【讨论】:

  • 我有这个错误 :( 不包含 'btnComment_Command' 的定义,并且找不到接受类型为 'ASP.wallpage_aspx' 的第一个参数的扩展方法 'btnComment_Command'(您是否缺少使用指令还是程序集引用?)
  • 这是外转发器的第一行:
  • 我刚刚在 btnComment 中添加了 CommandName 属性,这似乎是正确的???
  • 请问我需要知道comment_button 的属性应该是什么?记住:comment_button 在外部中继器中。
  • 当您在我的回答中实现上述代码时,您能否将按钮与btnComment_Command 连接起来?尝试在方法中放置一个断点并检查它是否在您单击按钮时停止。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多