我不想让我的网页获得刷新或回复
所以我正在尝试在updatepanel中上传文件但是点击上传按钮验证检查显示没有文件
我的HTML代码是
<asp:UpdatePanel ID="UpdatePanel16" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:FileUpload ID="fp_upload" runat="server" />
<asp:Button ID="btn_browse" runat="server" Text="Upload" OnClick="btn_browse_Click" />
</ContentTemplate>
</asp:UpdatePanel>
好像是
我的.cs代码是
protected void btn_browse_Click(object sender, EventArgs e)
{
if (fp_upload.HasFile)
{
Response.Write("contains file");
}
else
{
Response.Write("no file");
}
}
当我以前浏览文件并每次点击上传按钮时都会进入其他状态。是什么问题。
我不想让我的网页获得刷新或回复
答案 0 :(得分:2)
要在UpdatePanel控件中使用FileUpload控件,请将提交文件的回发控件设置为面板的PostBackTrigger控件。
答案 1 :(得分:1)
只需PostBackTrigger
之后</ContentTemplate>
添加FileUploader
,如下所示:
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="FileUpload1" />
</Triggers>
</asp:UpdatePanel>
并在页面加载中添加以下代码:
ScriptManager.GetCurrent(this).RegisterPostBackControl(FileUpload1);
或者如果您想使其异步,可以使用this:
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnAsyncUpload" runat="server"
Text="Async_Upload" OnClick = "Async_Upload_File" />
<asp:Button ID="btnUpload" runat="server" Text="Upload"
OnClick = "Upload_File" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID = "btnAsyncUpload"
EventName = "Click" />
<asp:PostBackTrigger ControlID = "btnUpload" />
</Triggers>
</asp:UpdatePanel>
答案 2 :(得分:0)
写触发器会指示我们用于上传的按钮执行完整回发
<asp:UpdatePanel ID="UpdatePanel16" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="btn_browse" />
</Triggers>
<ContentTemplate>
<asp:FileUpload ID="fp_upload" runat="server" />
<asp:Button ID="btn_browse" runat="server" Text="Upload" OnClick="btn_browse_Click" />
</ContentTemplate>
</asp:UpdatePanel>