我试图弄清楚我的体系结构是否有问题,或者是否只需要快速修复。
我的页面上有以下内容:
<div ID="UploadDashboardDecorationZone">
<fieldset id="UploadDashboard">
<legend>Upload Dashboard</legend>
<telerik:RadUpload ID="UploadDashboardSelector" Runat="server" Width="235px" AllowedFileExtensions=".xml" MaxFileInputsCount="1" ControlObjectsVisibility="None" />
</fieldset>
<div class="BottomButton">
<telerik:RadButton ID="SubmitUploadDashboardButton" Runat="Server" Text="Upload" OnClientClicked="CloseUploadDashboard" />
</div>
</div>
用户选择他们想要上传的文件,然后按下SubmitUploadDashboardButton。
然后,我有以下服务器端代码:
protected void Page_Init(object sender, EventArgs e)
{
if (Request.Files.Count > 0) HandleUploadedFile();
}
这一切都很好。上传的文件已回复,我在页面上看到了更改。唯一的问题是我将页面的请求HTTP方法保留为POST而不是GET。这意味着如果用户刷新页面,将会发生不好的事情。
以前,我使用以下代码片段来解决此问题:
Page.Response.Redirect(Page.Request.Url.ToString(), true);
不幸的是,这不再适合我。我不希望在重新加载页面时发生闪烁(除了重新加载时出现的一些代码问题)。
我在这里还有其他选择吗?如果我用UpdatePanel包装
UploadDashboardDecorationZone
,则Request.Files将显示为0。是否有针对此的快速代码修复?还是我对文件上传过程的工作方式了解得更深?
谢谢。
最佳答案
我不知道页面更改时如何解决“闪存”问题,除非您使用Ajax
进行呼叫,而根本不需要重新加载页面。
关于c# - 使用Request.Files并从POST更改为GET而无需重新加载页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8016336/