Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加UpdatePanel后页面仍会刷新_C#_Asp.net_File Upload_Updatepanel - Fatal编程技术网

C# 添加UpdatePanel后页面仍会刷新

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

我试图将UpdatePanel添加到我的web应用程序中,允许用户使用FileUpload控件上载图像。我用这个作为我的参考。 但UpdatePanel似乎不起作用,文件上传后,它会不断刷新整个页面,而不是图像部分。下面是我的代码

Aspx:

您应该尝试向UpdatePanel inside Triggers标记中添加或使用旧的PostBackTrigger,如下所示:

<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
控件将无法与异步回发一起工作,因此它将无法在AJAX
UpdatePanel
中工作如果在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>