【发布时间】:2017-08-15 13:12:49
【问题描述】:
我的问题是,asp 按钮的 onclick 在更新面板中不起作用。基本上我的代码所做的是,我有一个 asp fileupload 控件来上传文件。然后,用户现在可以单击按钮,上传文件的文件名将显示在 asp 标签控件中。
但是当我尝试它时,它没有在标签中显示文件名。它什么也不做。
这是aspx:
<asp:UpdatePanel runat="server" UpdateMode="Always" ID="updPnlName"
ChildrenAsTriggers="true">
<ContentTemplate>
<asp:FileUpload runat="server" ID="Image1"/>
<asp:Button ID="Button2" runat="server"
Text="Upload" OnClick="Button2_Click"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button2"
EventName="Click"/>
</Triggers>
</asp:UpdatePanel>
<asp:Label ID="Label3" runat="server" Text="Label">
</asp:Label>
下面是代码:
public void Button2_Click(Object sender, EventArgs e)
{
var filename1 = Image1.FileName;
Label3.Text = "Upload successfull - " + filename1;
}
顺便说一句,我想使用 updatepanel 的原因是为了避免在用户单击按钮时刷新整个页面。请帮我解决这个问题。
【问题讨论】:
-
FileUpload 和 UpdatePanel 不能一起工作。它需要完整的 PostBack。
-
@VDWWD - 即使我将文件上传放在更新面板之外,它仍然无法正常工作。您对如何实现这一目标有任何解决方案吗?
-
将按钮和文件上传都放在面板之外。或者将 Button 定义为 PostBackTrigger。