我有一个UpdatePanel,它有一个上传控件和一个上传按钮。该按钮被设置为触发器,但该按钮的事件处理程序无法在第一个回发中执行。ASP.NET - 用PostBack触发器的FileUpload
我的ASPX代码:
<asp:UpdatePanel ID="updPages" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="tabs">
<ul>
<li><asp:LinkButton ID="lnkContentsPages" runat="server" OnClick="updateContents" CommandArgument="pages">Pages</asp:LinkButton></li>
<%-- these tabs change the ActiveViewIndex to show a different UserControl --%>
<li><asp:LinkButton ID="lnkContentsImages" runat="server" OnClick="updateContents" CommandArgument="images">Images</asp:LinkButton></li>
</ul>
<div class="tabbedContent">
<asp:MultiView runat="server" ID="mltContentsInner" ActiveViewIndex="0">
<asp:View ID="viwContentsImages" runat="server">
// ajax usercontrol for a list of images - works fine with ajax
<fieldset>
<legend>Upload New</legend>
<div class="formRow">
<asp:Label ID="lblFile" runat="server" Text="Filename" AssociatedControlID="uplFile" />
<asp:FileUpload ID="uplFile" runat="server" />
</div>
<div class="formRow">
<asp:Label ID="lblImageDescription" runat="server" Text="Description" AssociatedControlID="txtImageDescription" />
<asp:TextBox runat="server" ID="txtImageDescription" />
</div>
<asp:Button ID="btnUpload" runat="server" Text="Upload" CssClass="c3button btnUpload" CausesValidation="false" OnClick="btnUpload_Click" />
</fieldset>
</asp:View>
<asp:View ID="viwContentsPages" runat="server">
// ajax usercontrol - works fine with ajax
</asp:View>
</asp:MultiView>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btnUpload" />
</Triggers>
</asp:UpdatePanel>
按钮的作品没有失败第二次及以后,只是没有第一。这有什么理由吗?
解决此问题有什么好运气? – Jonathan 2010-05-12 12:53:50
不幸的不是。行为似乎是间歇性的,这是最糟糕的错误类型。 – Echilon 2010-05-14 13:04:32
你可以添加服务器端代码吗? – chapluck 2010-05-26 12:21:27