【问题标题】:how to use DataBinder.Eval of repeater within asp.net button's OnClientClick javascript如何在 asp.net 按钮的 OnClientClick javascript 中使用中继器的 DataBinder.Eval
【发布时间】:2011-07-27 12:24:20
【问题描述】:


我的 asp.net 网络表单中有一个中继器。在 repater 的“ItemTemplate”中,我添加了一个 asp:button。我在按钮的“OnClientClick”事件上编写了以下代码。

//This is javascript function
function DeleteGroup(groupID){
return confirm('Do you want to delete ' + groupID);

//This is asp.net page code<br>
<asp:Button runat="server" ID="btnDelete" Text="Delete"
OnClientClick="
return DeleteGroup(<%# DataBinder.Eval(Container.DataItem, "GrupID") %>); 
" />

我尝试了许多 OnClientClick 变体,但我无法成功。
如何将我从数据库中检索到的“GoupID”值传递给 javascript 函数“DeleteGroup”?

【问题讨论】:

  • 上面的代码中有一个错字,您在 DataBinder.Eval 中使用了“GrupID”而不是“GroupID” - 这会影响您的测试吗?
  • @bgs264 没有任何作用。 “GrupID”是我数据库上的数据字段名。

标签: javascript asp.net repeater


【解决方案1】:

对于 VB:

<asp:Button runat="server" ID="btnDelete" Text="Delete" OnClientClick='<%# "return DeleteGroup(" & Eval("GroupID") & ");" %>' />

对于 C#:

<asp:Button runat="server" ID="btnDelete" Text="Delete" OnClientClick='<%# "return DeleteGroup(" + Eval("GroupID") + ");" %>' />

【讨论】:

  • 它给出一个错误:运算符'&'不能应用于'string'和'object'类型的操作数
  • 实际上,我使用 C#,所以我将 '&' 替换为 '+',它现在可以工作了。非常感谢
  • 谢谢,我已经稍微修改了答案,以便为偶然发现此问题的其他人提供这两个版本。
  • 我正在使用OnClientClick='&lt;%# "return CommentPopup(" + Eval("Comments") + ");" %&gt;',但它不起作用。有什么解决办法吗?
猜你喜欢
  • 2010-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-05
  • 1970-01-01
  • 2011-05-02
  • 2020-09-01
  • 2010-11-25
相关资源
最近更新 更多