我在网格视图中有这个按钮
<asp:Button ID="btnapp" runat="server" Text="Approved" CommandName="Approved"
CommandArgument='<%#Eval("rcno")+ "," +Eval("mobile")+ "," +Eval("email") %>'
class="btn btn-success" OnClientClick="ConfirmPopup(); return false" />
当我点击这个按钮时,它打开弹出框,在这个弹出框中有一个按钮。 当我点击弹出按钮时,我怎么能访问commandargument值?
如果您有任何其他解决方案我可以尝试一下,我想要在弹出窗口打开后选择按钮的网格视图列的值
答案 0 :(得分:3)
<asp:Button ID="btnapp" runat="server" Text="Approved" CommandName="Approved" CommandArgument='<%#Eval("rcno")+ "," +Eval("mobile")+ "," +Eval("email") %>' class="btn btn-success" OnClientClick="return ConfirmPopup('<%#Eval("rcno")+ "," +Eval("mobile")+ "," +Eval("email") %>');" />
它会给你一个错误&#34;服务器标签格式不正确&#34;所以解决这个问题的方法是在下面形成你的按钮标签
<asp:Button ID="btnapp" runat="server" Text="Approved" CommandName="Approved" CommandArgument='<%#Eval("rcno")+ "," +Eval("mobile")+ "," +Eval("email") %>' class="btn btn-success" OnClientClick=<%# String.Format("ConfirmPopup(\"{0}\",\"{1}\",\"{2}\");return false;",Eval("rcno"),Eval("mobile"),Eval("email")) %> />
这将解决您的问题。确保您使用名称&#34; ConfirmPopup&#34;定义了JavaScript函数。否则它只会回发表格。
希望这可以帮助您解决问题。
答案 1 :(得分:1)
您可以将该命令参数的值传递给javascript函数,例如。
<asp:Button ID="btnapp" runat="server" Text="Approved" CommandName="Approved" CommandArgument='<%#Eval("rcno")+ "," +Eval("mobile")+ "," +Eval("email") %>' class="btn btn-success" OnClientClick="ConfirmPopup('<%#Eval("rcno")+ "," +Eval("mobile")+ "," +Eval("email") %>'); return false" />
答案 2 :(得分:1)
我认为你看起来有点不对劲。您希望OnClientClick
以代码在进一步处理之前等待的方式返回true或false。
所以你想要:
<asp:button ... OnClientClick='return ConfirmPopup();' />
JavaScript的:
function ConfirmPopUp() {
return Confirm("Foo");
}
但是然后传入你需要在JavaScript调用中真正传递它们的任何变量:
<asp:Button ID="btnapp" runat="server" Text="Approved" CommandName="Approved" CommandArgument='<%#Eval("rcno")+ "," +Eval("mobile")+ "," +Eval("email") %>' class="btn btn-success" OnClientClick="return ConfirmPopup('bar');" />
JavaScript的:
function ConfirmPopUp(myVar) {
return Confirm("Foo this? "+ myVar);
}