C# FileUpload+UpdatePanel在第一次单击时不起作用
这不仅仅是另一个FileUpload+UpdatePanel问题 正如许多类似文章所述,我的表单上有一个UpdatePanel和一个FileUpload控件。我还为我的上传按钮设置了一个PostBackTrigger。 它起作用了。问题是它在第一次点击时永远不会起作用。即: 我点击浏览,选择我的文件,按上传。fupld.HasFile=false没有发生任何事情 我再次点击浏览,选择任何相同或另一个文件,按下上传,一切正常C# FileUpload+UpdatePanel在第一次单击时不起作用,c#,asp.net,C#,Asp.net,这不仅仅是另一个FileUpload+UpdatePanel问题 正如许多类似文章所述,我的表单上有一个UpdatePanel和一个FileUpload控件。我还为我的上传按钮设置了一个PostBackTrigger。 它起作用了。问题是它在第一次点击时永远不会起作用。即: 我点击浏览,选择我的文件,按上传。fupld.HasFile=false没有发生任何事情 我再次点击浏览,选择任何相同或另一个文件,按下上传,一切正常 <asp:UpdatePanel ID="upGeneral" r
<asp:UpdatePanel ID="upGeneral" runat="server" >
<ContentTemplate>
...
<table id="tabPage10" runat="server" visible="false" width="100%" >
<tr>
...
<td>
<asp:FileUpload ID="fupld" runat="server" Width="80%" />
<asp:ImageButton ID="ibtnUpld" runat="server" onclick="ibtnUpld_Click" />
<td>
...
<tr>
...
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ibtnUpld" />
</Triggers>
</asp:UpdatePanel>
我四处寻找答案,但这确实是一种奇怪的行为。到目前为止运气不好
有什么想法吗
多亏了在部分页面呈现期间,FileUpload控件设计为仅在回发场景中使用,而不是在异步回发场景中使用 您可以使用AjaxControlToolkit中的控件
<asp:AsyncFileUpload runat="server" ID="asyncFileUpload" Width="400px" ThrobberID="imageThrobber"
OnClientUploadStarted="uploadStarted" OnClientUploadError="uploadError"
ClientIDMode="AutoID" PersistFile="true" PersistedStoreType="Session" />
我从来没有遇到过任何问题。嗯,FileUpload控件设计为仅在回发场景中使用,而不是在部分页面呈现期间的异步回发场景中使用 您可以使用AjaxControlToolkit中的控件
<asp:AsyncFileUpload runat="server" ID="asyncFileUpload" Width="400px" ThrobberID="imageThrobber"
OnClientUploadStarted="uploadStarted" OnClientUploadError="uploadError"
ClientIDMode="AutoID" PersistFile="true" PersistedStoreType="Session" />
我从来没有遇到过任何问题。改变
Visible ="false"
到
并将其从代码隐藏中更改。
如果设置Visible=false,控件实际上不会呈现为HTML。要将其呈现为HTML,请使用style=display:none代替Visible=false
Visible ="false"
到
并将其从代码隐藏中更改。
如果设置Visible=false,控件实际上不会呈现为HTML。要将其呈现为HTML,请使用style=display:none而不是Visible=false和Post-back触发器,我必须在代码隐藏中使用以下代码行:
Page.Form.Enctype = "multipart/form-data";
而且这个效果非常好
多亏了带有回发触发器的链接-.中的解决方案,我不得不在代码隐藏中使用以下代码行:
Page.Form.Enctype = "multipart/form-data";
而且这个效果非常好
感谢链接中的解决方案-