【发布时间】:2016-04-08 13:05:11
【问题描述】:
我正在为我的项目使用 VS2010 Express 版本。
我创建了一个带有“提交”按钮的注册表单,它将打开新窗口(子窗口)。
它包含 aspx 按钮 ( )。
子窗口再次包含一个由我们填写的表单,在单击“保存”按钮后,该表单被保存,在保存后,如果我们关闭子窗口,则提交注册表。
页面加载包含调用 javascript 的函数。
SetJavaScript();
if (Session["IsSuccess"] != null)
if (Session["IsSuccess"].ToString().ToLower() == "success")
TextBox1.Text = Session["IsSuccess"].ToString();
if (ddlTicketType.SelectedValue.ToString().ToLower() == "cr")
btnSubmit.Attributes.Add("OnClick", "OpenChild(); ");
if (ddlTicketType.SelectedValue.ToString().ToLower() == "pr")
btnSubmit.Attributes.Add("OnClick", "clickno();");
由于 window.showmodaldialog 不适用于 chrome。我也使用过window.open,但它也无法正常工作,因为它打开了子表单并且在关闭它的注册表单后出现错误消息“请填写表格”。 以下是页面加载时调用的 javascript 代码。
private void SetJavaScript()
{
string str_Script = "";
str_Script += "<script type='text/javascript' language='javascript'>";
str_Script += "function OpenChild() ";
str_Script += "{ CheckValidation();";
str_Script += "var varx = document.getElementById('TextBox1').value;";
str_Script += "if (varx== 'yes'){";
str_Script += "var ParmA = '2';";
str_Script += "var MyArgs = new Array(ParmA);";
str_Script += "if (ParmA=='2'){";
str_Script += "var WinSettings = 'center:yes;resizable:yes;dialogheight:800px;dialogwidth:1000px';";
str_Script += "MyArgs = window.showModalDialog('user/cr1.aspx', MyArgs, WinSettings);";
str_Script += "if (MyArgs == null)";
str_Script += "{";
str_Script += "}";
str_Script += "else";
str_Script += "{";
str_Script += "document.getElementById('TextBox1').value =MyArgs[0].toString();";
str_Script += "}";
str_Script += "}}";
str_Script += "</script> ";
this.Page.RegisterStartupScript("Reconnect", str_Script);
}
请帮助我让它再次正常工作,因为它在 chrome 更新之前工作得很好。 请让我知道任何可以解决此问题的好的替代方案。
【问题讨论】:
标签: javascript c# jquery asp.net forms