2011-08-12 93 views
2

我在頁面上有ext:FileUploadField。文件上傳後,我需要顯示一個鏈接到這個文件。 我動態創建一個LinkBut​​ton,將其添加到Panel1上,並且我看不到LinkBut​​ton!我不知道爲什麼!在面板上動態添加LinkBut​​ton

<ext:Panel ID="Panel1" runat="server"> 
    <Content> 
     <ext:FileUploadField ID="FileUploadField1" runat="server" EmptyText="Choose a file" FieldLabel="File" Icon="ImageAdd" /> 
    </Content> 
    <Buttons> 
     <ext:Button ID="SaveButton2" runat="server" Text="Upload"> 
      <DirectEvents> 
       <Click OnEvent="UploadClick"></Click> 
      </DirectEvents> 
     </ext:Button> 
    </Buttons> 
</ext:Panel> 


protected void UploadClick(object sender, DirectEventArgs e) 
     { 
      if (this.FileUploadField1.HasFile) 
      { 
       var attachment = new Attachment { ............ }; 
       if (UploadAttachment(attachment)) 
       { 
        X.Msg.Show(......); 

        var linkButton = new LinkButton(); 
        linkButton.ID = "fdsfdsfds"; 
        linkButton.Text = attachment.Name; 
        linkButton.NavigateUrl = "#"; 
        linkButton.Render(); 
        Panel1.Add(linkButton); 
        // Panel1.Render(true); 
        Panel1.DoLayout(true,true); 
       } 
       else 
       { 
        //................ 
       } 

      } 
      else 
      { 
       //................ 
      } 
     } 

回答

1

我猜你需要將它添加到面板的按鈕列表而不是面板本身。如果您有合適的佈局並添加第二個項目,那麼您可能也會遇到佈局問題。

0

嘗試使用此代碼:

X.Msg.Show(......); 
var linkButton = new LinkButton(); 
linkButton.ID = "fdsfdsfds"; 
linkButton.Text = attachment.Name; 
linkButton.NavigateUrl = "#"; 
linkButton.Render(Panel1, RenderMode.AddTo); 

這將增加鏈接按鈕直接Panel1的