我试图弄清楚我的体系结构是否有问题,或者是否只需要快速修复。

我的页面上有以下内容:

<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/

10-12 12:41
查看更多