我知道這聽起來很基本,但我真的很難過。我想要做的是在一個過程完成後顯示一個超鏈接。而這個過程就是AsyncFileUpload。在ASPX頁面中,我想創建一個隱藏在初始頁面加載中的頁面。如果我設置Style =「display:none;」似乎工作,但在文件上傳後,我沒有做任何事情,將使控制再次可見。當文件上傳時,它會調用一個名爲FileUploadComplete的函數。在這裏,無論我做什麼,超鏈接都不會顯示。如何使用AJAX(AjaxControlToolkit)和C#隱藏/顯示控件
任何幫助是極大的讚賞:)
謝謝 戴夫
這裏是ASPX代碼(與最近添加的JavaScript)
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="OptionsPlaceHolder" runat="server">
<script language="javascript" type="text/javascript">
function ShowLink() {
$("#openFile").show();
}
</script>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolderBody" runat="server">
<asp:UpdatePanel ID="updImportFile" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="pageHeader">
<asp:Literal runat="server" ID="pageTitle" Text="<%$ Resources:Resources, ImportFile %>" />
</div>
<ajaxToolkit:AsyncFileUpload ID="FileUpload1" runat="server" Width="600px"
UploaderStyle="Traditional" OnUploadedComplete="FileUploadComplete" ThrobberID="throbber"
CompleteBackColor="#E9F2FD" OnClientUploadComplete="ShowLink" />
<asp:Image runat="server" ID="throbber" ImageUrl="images/loading.gif" />
<br />
<asp:Hyperlink runat="server" ID="openFile" NavigateUrl="~/OpenFile.aspx" Text="Open"
style="display:none;"/>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
這裏是後面的代碼:
protected void FileUploadComplete(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string importName = Server.MapPath(@"Uploads\") + FileUpload1.FileName;
FileUpload1.SaveAs(importName);
// Import the JSA
JSA jsa = new JSA();
jsa.Import(importName);
// Show the Hyperlink
ShowLink();
}
}
private void ShowLink()
{
openFile.Attributes["Style"] = string.Empty;
}
我沒有包含主頁面代碼。它有ToolkitScriptManager。
你如何將樣式設置爲「display:none;」? –