我有一个gridview,我希望用户能够单击View链接,它会弹出一个jquery对话框,其中显示了该按钮所在行的更多数据。我正在使用一个链接按钮显示弹出窗口但我希望在此之前运行服务器端(asp .net),以便在显示之前填充jquery对话框中的字段
<asp:LinkButton ID="btnViewDetails" runat="server" Text="View" CommandName="ViewDetails"
CausesValidation="false" CommandArgument='<%#Eval("CustomerID")%>'
OnClientClick="showDialog('viewCustomer');"></asp:LinkButton>
我已经尝试在RowCommand中填充控件,但是在显示jquery弹出窗口后会触发,导致下次单击行的“View”按钮时,它会显示上一行选中的数据。
非常感谢任何帮助
答案 0 :(得分:1)
我建议你不要在 OnClientClick 上触发对话框。相反,您可以触发AJAX调用,该调用填充要从服务器端显示的数据。并在成功完成AJAX时触发对话框。
类似这样的事情
OnClientClick="TriggerAjax(yourInput)"
在javascript中
function TriggerAjax(input) {
$.ajax({
url: "SeverPage.aspx?input=" + input
cache: false,
success: function(response) {
showDialog(response);
}
});
}
答案 1 :(得分:0)
您从代码隐藏中注入javascript以打开如下所示的对话框:
string script = "$(function(){showDialog('viewCustomer');});";
ScriptManager.RegisterStartupScript(this, this.Page.GetType(), "showdialog", script, true);
//Or if not using ScriptManager
//Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "showdialog", script, true);
在showDialog中打开jquery对话框。 检查这些: