2011-09-24 13 views
1

對不起,我的語言問題補充有限的動態用戶控件:d正好可以在UpdatePanel中

我已經寫了下面的代碼,我有沒有問題,但我可以添加超過6用戶控件(DriverInfo.ascx)動態。

我試過簡單的代碼與單個文本框而不是用戶控件,但它不適用於超過30個文本框。我不知道這個問題出了什麼問題而感到困惑。問題是什麼?

AddDynamicDriver.ascx:

<%@ Control Language="C#" AutoEventWireup="true" 
    CodeBehind="AddDynamicDirver.ascx.cs" 
    Inherits="Terminal.UI.TransportCo.WebControls.AddDynamicDirver" %> 
<div dir="rtl"> 
    <asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <asp:Panel ID="Panelmain" runat="server"> 
      </asp:Panel> 
      <asp:Button ID="AddDriver" runat="server" Text="adddriver" 
       onclick="AddDriver_Click" /> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</div> 

addDynamicDriver.ascx.cs:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     Session["DynamicDriverNumber"] = 1; 
     LoadCreatedControl(); 
    } 
} 

private void LoadCreatedControl() 
{ 
    var number = (int)Session["DynamicDriverNumber"]; 
    for (int i = 1; i <= number; i++) 
    { 
     var driver = new Control(); 
     driver = LoadControl("DriverInfo.ascx"); 
     driver.ID = "Driver" + i; 
     Panelmain.Controls.Add(driver); 
     Panelmain.Controls.Add(new LiteralControl("<hr/>")); 
    } 

public void AddDriver_Click(object sender, EventArgs e) 
{ 
    var number = (int)Session["DynamicDriverNumber"]; 
    number++; 
    Session["DynamicDriverNumber"] = number; 
    LoadCreatedControl(); 
} 

這是一個Firefox的問題,因爲它在IE。爲什麼?!

回答

0

在回發事件處理程序修改UpdatePanel的內容後,您需要調用Update()方法。

相關問題