Repeater中按钮Onclick事件的正确语法

时间:2013-10-03 04:54:22

标签: c# asp.net repeater

我使用repeater Control显示Datatable的所有评论:

COMMENT(id,content,time);

在转发器中,我插入一个按钮Delete来删除相关评论

我想知道我是否可以在string id中添加变量“ButtonDelete_Click()”,如:

protected void ButtonDelete_Click(object sender, EventArgs e, string id)
{
     int idcm = Convert.ToInt32(id);
     string sql = "delete from COMMENT where ID=" + idcm;
     l.EXECUTEQUERYSQL(sql);
     ErrorTrap("DONE");//alert deleted sucessfully
}

在aspx页面中:

<Repeater...>
    <asp:Button ID="ButtonDelete" runat="server" Text="Delete comment" 
         OnClick="ButtonDelete_Click(<%#Eval("MA_COMMENT") %>)"/>
    ....
</Repeater>

但是当我构建此页面时,出现错误:The server tag is not well formed. at line:

<asp:Button ID="ButtonDelete" runat="server" Text="Delete comment" 
     OnClick="ButtonDelete_Click(<%#Eval("MA_COMMENT") %>)"/>

这是我第一次使用Repeater Control,所以我真的不知道正确的语法是什么?我想知道我是否可以在ButtonDelete_Click事件中添加更多变量?

帮助!

2 个答案:

答案 0 :(得分:1)

您可以使用按钮的command参数属性并在click事件中抓取它:

<asp:Button ID="ButtonDelete" runat="server" Text="Delete comment" 
         OnClick="ButtonDelete_Click()" CommandArgument='<%#Eval("MA_COMMENT") %>'/>

点击事件

void ButtonDelete (object sender, EventArgs e)
  {

     var id = int.parse(e.CommandArgument.ToString());

  }

希望这是有帮助的

答案 1 :(得分:0)

使用此

OnClick='ButtonDelete_Click(<%#Eval("MA_COMMENT") %>)'

或尝试将'替换为"它应该有效。

编辑1

更多详情

  1. The server tag is not well formed
  2. The server tag is not well formed.(databinder.eval)
  3. error The server tag is not well formed
  4. The server tag is not well formed error