C# C ASP.NET文件上载控制和ModalPopupXtender回发冲突
我目前有一个弹出面板,其中包含一个fileupload控件和一些其他文本框。我想做的是创建一个取消按钮,关闭弹出面板并重新加载页面,以清除文本框和文件上载控件中的数据。我还有一个错误页面,如果用户上传的文件大于15mb,它会抛出错误。问题是,每次我使用Response.RedirectRequest.Url.ToString从服务器端刷新页面时,服务器仍然会获取包含在fileupload控件中的文件,可能会将其放入内存-抱歉,我在这方面做得不好-如果大于15mb,将抛出错误页。我怀疑这是因为任何回发遇到的文件上传行为。我如何才能实现此关闭和重新加载 代码: 错误页代码:C# C ASP.NET文件上载控制和ModalPopupXtender回发冲突,c#,asp.net,web-config,ajaxcontroltoolkit,C#,Asp.net,Web Config,Ajaxcontroltoolkit,我目前有一个弹出面板,其中包含一个fileupload控件和一些其他文本框。我想做的是创建一个取消按钮,关闭弹出面板并重新加载页面,以清除文本框和文件上载控件中的数据。我还有一个错误页面,如果用户上传的文件大于15mb,它会抛出错误。问题是,每次我使用Response.RedirectRequest.Url.ToString从服务器端刷新页面时,服务器仍然会获取包含在fileupload控件中的文件,可能会将其放入内存-抱歉,我在这方面做得不好-如果大于15mb,将抛出错误页。我怀疑这是因为任何
protected void Page_Load(object sender, EventArgs e)
{
HtmlMeta meta = new HtmlMeta();
string path = Request.UrlReferrer.ToString();
Literal str = new Literal();
meta.HttpEquiv = "Refresh";
meta.Content = "5;url=" + path;
str.Text = "<h1 style='color: red; font-size: xx-large;'>IIS Error 404.13</h1><h2 style='font-size: large'>File upload too large!</h2><p style='color: midnightblue;'>Maximum allowed file size: <b style='color:red;'>15mb</b></p><p>Redirecting...</p>";
this.Page.Controls.Add(str);
this.Page.Controls.Add(meta);
}
Web.config:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="15728640"></requestLimits>
</requestFiltering>
</security>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="13"/>
<error statusCode="404" subStatusCode="13" prefixLanguageFilePath="" path="/Error Pages/Error_A.aspx" responseMode="Redirect"/>
<!--<error statusCode="404" prefixLanguageFilePath="" path="/Error Pages/ERROR_B.aspx" responseMode="Redirect"/>-->
</httpErrors>
我还使用javascript window.location.reload从客户端尝试了这一点,但没有成功。它成功地重新加载而不回发到服务器,但不会关闭ModalPopupXtender面板。如何显示模式弹出扩展程序-通过服务器还是通过客户端代码?在gridviewrowcommand事件中通过服务器。好的,根据中David Johnstone的解释,window.location.reload和window.location.href完全不同,尽管它们都会将您重定向到同一页面。我想到window.location.href作为答案,因为它的行为。在不回发的情况下重新加载页面,并防止文件上载控件执行回发行为,即在页面回发时上载选定的文件。
protected void Page_Load(object sender, EventArgs e)
{
HtmlMeta meta = new HtmlMeta();
string path = Request.UrlReferrer.ToString();
Literal str = new Literal();
meta.HttpEquiv = "Refresh";
meta.Content = "5;url=" + path;
str.Text = "<h1 style='color: red; font-size: xx-large;'>IIS Error 404.13</h1><h2 style='font-size: large'>File upload too large!</h2><p style='color: midnightblue;'>Maximum allowed file size: <b style='color:red;'>15mb</b></p><p>Redirecting...</p>";
this.Page.Controls.Add(str);
this.Page.Controls.Add(meta);
}
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="15728640"></requestLimits>
</requestFiltering>
</security>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="13"/>
<error statusCode="404" subStatusCode="13" prefixLanguageFilePath="" path="/Error Pages/Error_A.aspx" responseMode="Redirect"/>
<!--<error statusCode="404" prefixLanguageFilePath="" path="/Error Pages/ERROR_B.aspx" responseMode="Redirect"/>-->
</httpErrors>