Невозможно отобразить сообщение метки при успехе / неудаче AjaxFileUpload в ASP.NET
Я хочу загрузить файл, используя AjaxFileUpload
контроль. Это работает нормально. Проблема в том, что я не могу отобразить сообщение об успехе / неудаче на Label
файла загружен.
.aspx код..
<form id="form1" runat="server">
<div>
<div></div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:Label runat="server" ID="myThrobber" Style="display: none;"><img align="absmiddle" alt="" src="images/uploading.gif"/></asp:Label>
<asp:AjaxFileUpload ID="AjaxFileUpload1"
runat="server"
OnUploadComplete="AjaxFileUpload1_UploadComplete"
OnClientUploadError="uploadError"
OnClientUploadComplete="uploadComplete"
ThrobberID="myThrobber"
MaximumNumberOfFiles="1"
AllowedFileTypes=""
class="name_text1"
Width="200px" />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
<asp:Button ID="BtnClose" runat="server" Text="Close"
onclick="BtnClose_Click" OnClientClick="Closepopup()"/>
<asp:Label ID="Label2" runat="server" Text=""></asp:Label>
<br />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
я хочу отображать текст на Label2, загруженный файл или нет. мой код.cs:
protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
string message = "Storege Space is Exceeding its Limit";
Label2.Text = message;
}
Как отобразить сообщение на Label
? Любое предложение? Помощь оценена
3 ответа
Последняя версия загрузки ajax-файла идет с обновлением. Поэтому, если вы используете его, вам не нужно ставить метку для отображения текста неудачи / успеха. Для получения дополнительной информации и демонстрации см. Эту страницу: http://stephenwalther.com/archive/2012/05/01/ajax-control-toolkit-may-2012-release.aspx
function ReBindMaterialsGrid() {
if (rebindTimer == null) {
SetRebindTimeout();
} else {
clearTimeout(rebindTimer);
SetRebindTimeout();
}
}
function SetRebindTimeout() {
rebindTimer = setTimeout(
'var btn = document.getElementById("MainContent_AdminTabs_TabContainerMain_TabPanelMaterials_Materials_btnReBindGrid");' +
'btn.click();', 8888);
}
<asp:UpdatePanel ID="UpdatePanelUpload" runat="server">
<ContentTemplate>
<asp:Label runat="server" ID="lblThrobber" Style="display: none;">
<img src="../../Images/loading.gif" alt="Loading..." />
</asp:Label>
<asp:HiddenField ID="hdStitchAssetPathUpload" Value='<%# Eval("StitchAssetPath") %>'
runat="server" />
<asp:AjaxFileUpload ID="AjaxFileUploadPlank" ThrobberID="lblThrobber" runat="server"
OnUploadComplete="AjaxFileUploadPlank_UploadComplete" OnClientUploadComplete="ReBindMaterialsGrid" />
</ContentTemplate>
</asp:UpdatePanel>
Это может быть проблема из-за панели обновления,
Вы поместили AjaxFileUpload в панель обновления, поэтому элементы управления панели обновления не обновляют все элементы управления, когда ваша метка заполняется текстом в событии AjaxFileUpload1_UploadComplete.
Поэтому, пожалуйста, попробуйте после удаления панели обновления или установите свойство UpdateMode="Conditional" панели обновления.
Надеюсь, это поможет решить вашу проблему.