C# 添加UpdatePanel后页面仍会刷新
我试图将UpdatePanel添加到我的web应用程序中,允许用户使用FileUpload控件上载图像。我用这个作为我的参考。 但UpdatePanel似乎不起作用,文件上传后,它会不断刷新整个页面,而不是图像部分。下面是我的代码 Aspx: 您应该尝试向UpdatePanel inside Triggers标记中添加或使用旧的PostBackTrigger,如下所示:C# 添加UpdatePanel后页面仍会刷新,c#,asp.net,file-upload,updatepanel,C#,Asp.net,File Upload,Updatepanel,我试图将UpdatePanel添加到我的web应用程序中,允许用户使用FileUpload控件上载图像。我用这个作为我的参考。 但UpdatePanel似乎不起作用,文件上传后,它会不断刷新整个页面,而不是图像部分。下面是我的代码 Aspx: 您应该尝试向UpdatePanel inside Triggers标记中添加或使用旧的PostBackTrigger,如下所示: <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnUpload_Click" EventName="Click" />
<!-- OR
<asp:PostBackTrigger ControlID="btnUpload_Click" />
-->
</Triggers>
<ContentTemplate>
ControlID获取或设置触发UpdatePanel控件的异步回发的控件的名称。该
FileUpload
控件将无法与异步回发一起工作,因此它将无法在AJAXUpdatePanel
中工作如果在UpdatePanel中使用FileUpload控件,仍然需要完整的回发AsyncPostBackTrigger
对文件上载控件不起作用
如果要异步上载文件,请使用:异步文件上载
控件。我们可以将其放置在更新面板内或更新面板外
<cc1:AsyncFileUpload ID="AsyncFileUpload1" ... />
注意:PostBackTrigger没有此类属性:EventName
关于此概念的漂亮文章,了解更多信息。在更改代码后,我发现此错误:
在UpdatePanel“UpdatePanel1”中的触发器找不到ID为“btnUpload\u Click”的控件。
如您所见,btnUpload\u Click
只是一个示例,您可以将其从UpdatePanel
(例如btnUpload
)更改为其他按钮/控件,并且可以删除EventName=“Click”
。如果我使用
,它将不起作用,因为我使用的google AsyncPostBackTrigger与文件上载控件不起作用。PostBackTrigger是否起作用?我知道它在AsynchPostBack触发器上有一些bug,但是有解决办法,这是另一个问题。我知道FileUpload控件只适用于带有PostBackTrigger的UpdatePanel。我现在面临的问题是,上传文件后,整个页面正在刷新,而不是只刷新图像部分。是的,整个页面将只刷新,因为这将是一个正常的回发,类似于其他回发方法,如:按钮单击等。确实会进行完整的回发。请参阅上面的编辑。如果要异步上载文件,请使用AsyncFileUpload。我将FileUpload控件更改为AsyncFileUpload控件,但问题仍然存在。情况不应如此。onuploadedcomplete是一个服务器端事件,因此如果已定义,将调用它,但不应刷新整个页面。任何您怀疑有问题的代码行??
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnUpload_Click" EventName="Click" />
<!-- OR
<asp:PostBackTrigger ControlID="btnUpload_Click" />
-->
</Triggers>
<ContentTemplate>
<cc1:AsyncFileUpload ID="AsyncFileUpload1" ... />
<Triggers>
<asp:PostBackTrigger ControlID="myButton" />
</Triggers>