我想在模态弹出窗口中显示数据。
这就是我所拥有的,一个带有链接按钮的网格,其中包含onclientclick,如下所示:OnClientClick='showComfirm(this, <%# Eval("Message") %>); return false;'
。
然后在javascript中,
function showConfirm(source, message){
this._source = source;
document.getElementById('lblmessage').text=message; // not sure if this proper syntax though.
this._popup = $find('mdlPopup');
this._popup.show();
}
更新
我得到的javascript错误是由于varialble“message”包含的文本。 varialbe包含简单的英文文本,如电子邮件,大写字母,小写字母,感叹号,逗号,句号,apostrophies,双引号,空格等。那么有一个解决方法吗?谢谢,R。
答案 0 :(得分:1)
是的,它是可能的,只需理顺引号等等你应该拥有它(你可能需要在消息周围添加一些引号,以便字符串实际连接并正确地成为javascript中的字符串)。
要调试它的任何问题,只需在渲染控件时在浏览器中查看源代码,并确保给定行生成的javascript是正确的。
示例:
你想要这个:
OnClientClick='showComfirm(this, "Are you sure you want to do this?"); return false;'
而不是这个:
OnClientClick='showComfirm(this, Are you sure you want to do this?); return false;'
<强>更新强>
我能够让这个工作:
<asp:LinkButton ID="LinkButton1" runat="server" onclientclick='<%# "alert(\"" + Eval("Message") + "\");" %>' Text='<%# Eval("Message") %>'></asp:LinkButton>
当然,我正在使用C#,VB等价物将是:
<asp:LinkButton ID="LinkButton1" runat="server" onclientclick='<%# "alert(""" + Eval("Message") + """);" %>' Text='<%# Eval("Message") %>'></asp:LinkButton>
如果仍然无效,请尝试使用IE&amp; VS或FireFox&amp;萤火。也许错误在于函数而不是调用。
请注意,LinkButton控件会自动为回发创建HRef代码,所以在我的警告消息之后,我得到一个不会影响我的测试的回发,但它可能与您的实际情况有关。也许是一个简单的&lt; a&gt;标签比LinkButton控件更适合你。
如果您仍然无法运行此功能,是否可以回复您收到的JavaScript错误?
答案 1 :(得分:0)
是的,就像那样。
OnClientClick='<%# "showComfirm(this, \"" + Eval("Message") + "\"); return false;" %>'
&lt;%#%&gt;不只是显示数据,它将数据绑定到字段,因此如果您使用单引号,则只能在内部使用绑定表达式。