所以我要做的是让用户选择要上传的文件.由于我只接受图像,我将测试扩展.我还想将文件大小限制在2mb以下,所以我将测试它(尚未在代码中实现).如果他们选择的文件通过,那么我希望标签说"文件被接受",并存储文件上传信息以便稍后点击按钮.一旦用户填写完表单的其余部分,就会发生这种情况.最后,我会在检查文件是否被允许时在页面上放置一个UpdateProgress控件.我宁愿不为此发回信息,所以如果我能让它发挥作用,那就太好了.顺便说一句,如果我从更新面板中取出标签,这一切都会正常工作.
当我运行它时会发生什么,是否会转到第一个if的else语句并返回"请选择一个文件".意味着FileUpload1.HasFile返回false.我可以看到发生这种情况的唯一原因是因为UpdatePanel无法从FileUpload控件访问该信息?
代码背后:
Label SubmitButtonLabel2= (Label)UpdatePanel1.FindControl("SubmitButtonLabel");
if (FileUpload1.HasFile)
{
string[] fileName = FileUpload1.FileName.Split('.');
if ((fileName[fileName.Length - 1] == "jpg") ||
(fileName[fileName.Length - 1] == "gif") ||
(fileName[fileName.Length - 1] == "bmp") ||
(fileName[fileName.Length - 1] == "jpeg") ||
(fileName[fileName.Length - 1] == "png"))
{
SubmitButtonLabel2.Text = "File Accepted.";
}
else
{
SubmitButtonLabel2.Text = "File type not allowed. Please choose another.";
}
}
else
{
SubmitButtonLabel.Text = "Please select a file.";
}
Run Code Online (Sandbox Code Playgroud)
页:
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="SubmitButton" runat="server" Text="Submit File" OnClick=SubmitButton_Click />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="always">
<ContentTemplate>
<asp:Label ID="SubmitButtonLabel" runat="Server" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="SubmitButton" />
</Triggers>
</asp:UpdatePanel>
</div>
</form>
</body>
Run Code Online (Sandbox Code Playgroud)
Jal*_*ama 23
无需执行任何操作,只需将多部分数据添加到表单中即可.
Page.Form.Attributes.Add("enctype", "multipart/form-data");
有关详细信息,请参阅以下链接.
http://knowledgebaseworld.blogspot.com/2009/02/file-upload-not-working-with-update.html
小智 12
<Triggers>
<asp:PostBackTrigger ControlID="YourControlID" />
</Triggers>
Run Code Online (Sandbox Code Playgroud)
添加触发器UpdatePanel并给出ControlID.如果您正在使用TabContainer,请使用选项卡容器的ID.
小智 8
在你的.添加这一行 page_load
ScriptManager.GetCurrent(this).RegisterPostBackControl(this.Button);
Run Code Online (Sandbox Code Playgroud)
小智 5
如果在"更新"面板中使用FileUpload控件,则必须为编写代码的按钮设置PostbackTrigger以保存上载文件.
现在下面的代码我有btnSave按钮用于保存上传文件夹中的文件.所以我为它设置了postbacktrigger.
<Triggers>
<asp:PostBackTrigger ControlID="btnSave" />
</Triggers>
Run Code Online (Sandbox Code Playgroud)
希望这会帮助你.
| 归档时间: |
|
| 查看次数: |
60995 次 |
| 最近记录: |