Asp.net ModalPopupXtender内TabContainer内的异步文件上载
我有一个Asp.net ModalPopupXtender内TabContainer内的异步文件上载,asp.net,vb.net,modalpopupextender,asyncfileupload,tabcontainer,Asp.net,Vb.net,Modalpopupextender,Asyncfileupload,Tabcontainer,我有一个TabContainer,其中每个选项卡都有一个ModalPopupExtender。在每个ModalPopupXtender中,我定义了一个AsyncFileUpload 我的目标是,当文件上载/失败时,它会在ModalPopupExtender中显示一个标签,显示这一事实。此外,我还想使用有关上载文件的信息更新相应的选项卡面板(在关闭ModalPopupXtender之前或之后,我也一样) 我认为问题在于将ModalPopupExtender放在ContentTemplate的Tab
TabContainer
,其中每个选项卡都有一个ModalPopupExtender
。在每个ModalPopupXtender
中,我定义了一个AsyncFileUpload
我的目标是,当文件上载/失败时,它会在ModalPopupExtender
中显示一个标签,显示这一事实。此外,我还想使用有关上载文件的信息更新相应的选项卡面板
(在关闭ModalPopupXtender
之前或之后,我也一样)
我认为问题在于将ModalPopupExtender
放在ContentTemplate
的TabPanel
中,但我没有找到解决方案
我的标记代码:
<AjaxControlToolkit:TabPanel ID="tBrochure" runat="server" HeaderText="Brochure" OnDemandMode="Always" EnableViewState="true">
<ContentTemplate>
<asp:Label ID="lBrochureDesc" runat="server" Text="In this tab you can set or update the brochure document and its description for the Maintenance Contracts product." /><br /><br />
<asp:Label ID="lBrochureCurrentFile" runat="server" Text="Current File" CssClass="LabelForTextBox" />:
<asp:Label ID="lBrochureCurrentFileName" runat="server" Text="" /><br />
<asp:Label ID="lBrochureCurrentDateTag" runat="server" Text="Upload Date" CssClass="LabelForTextBox" />:
<asp:Label ID="lBrochureCurrentDate" runat="server" Text="" /><br /><br />
<asp:Panel ID="pBrochureUploadFileLink" runat="server" style="margin-left: 20px;">
<asp:ImageButton ID="ibBrochureUploadFile" runat="server" ImageUrl="~/Images/icon_add.png" Width="20px" style="vertical-align: middle" />
<asp:Label ID="lBrochureUploadFile" runat="server" Text="Upload a new document" style="vertical-align: middle" /><br />
</asp:Panel>
<asp:Panel ID="pBrochureUploadFilePopup" runat="server" CssClass="Popup" style="display:none;">
<asp:Panel ID="pBrochureUploadFilePopupTitleBar" runat="server" CssClass="PopupTitleBar">
<asp:ImageButton ID="imBrochureUploadFilePopupClose" runat="server" ImageUrl="~/Images/icon_close.png" />
</asp:Panel>
<asp:Panel ID="pBrochureUploadFilePopupContent" runat="server" CssClass="PopupContent">
<asp:Label ID="lBrochureUploadFilePopupTitle" runat="server" CssClass="title" Text="Upload a new file" />
<AjaxControlToolkit:AsyncFileUpload ID="fuBrochure" runat="server" CompleteBackColor="Green" ErrorBackColor="Red" /><br /><br />
<asp:Label ID="lBrochureUploadFileStatus" runat="server" Text="" />
<asp:Label ID="lBrochureUploadFileAdvice" runat="server" Text="The current file will be replaced but a backup of that version will be stored." />
</asp:Panel>
</asp:Panel>
<asp:Button ID="bBrochureDummy" runat="server" style="display:none;" />
<AjaxControlToolkit:ModalPopupExtender ID="mpeBrochureUpload" runat="server" ClientIDMode="Static"
TargetControlID="pBrochureUploadFileLink"
PopupControlID="pBrochureUploadFilePopup"
CancelControlID="imBrochureUploadFilePopupClose"
PopupDragHandleControlID="pBrochureUploadFilePopupTitleBar"
BackgroundCssClass="PopupBackground" DropShadow="true" />
<br /><br />
<asp:Label ID="lBrochureDescription" runat="server" Text="Description" CssClass="LabelForTextBox" />:<br />
<asp:TextBox ID="tbBrochureDescription" runat="server" TextMode="MultiLine" CssClass="TextBox" Style="height:50px; width:200px; max-width: 900px;"/><br /><br />
<asp:LinkButton ID="lbBrochureSave" runat="server" Text="Save" CssClass="ButtonWithArrow" />
<asp:LinkButton ID="lbBrochureCancel" runat="server" Text="Cancel" CssClass="ButtonWithArrow" />
</ContentTemplate>
</AjaxControlToolkit:TabPanel>
在该代码中,以下行:
lBrochureUploadFileStatus.Text = "File uploaded succesfully!"
mpeBrochureUpload.Hide()
我们什么都没做,只是排队
fuBrochure.SaveAs(MapPath(path + fileName))
很好
谢谢 AsyncFileUpload控件使用iframe将其文件发布到服务器。这意味着,上传文件时,页面上没有任何内容被发回。这就是您的标签未更新的原因
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "size", "top.$get(\"" + lBrochureUploadFileStatus.ClientID + "\").innerHTML = 'File uploaded succesfully!';", true);
你可以在这里找到一个简单的例子
这并不完全是你想要的,但它应该会有所帮助。希望有帮助。谢谢!看起来很有帮助。
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "size", "top.$get(\"" + lBrochureUploadFileStatus.ClientID + "\").innerHTML = 'File uploaded succesfully!';", true);