【问题标题】:just can add limited dynamically user control in updatepanel只是可以在更新面板中添加有限的动态用户控件
【发布时间】:2011-09-24 19:00:51
【问题描述】:

对不起,我的语言问题:D

我已经编写了下面的代码,我对此没有任何问题,但我可以动态添加超过 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 中运行。为什么?!

【问题讨论】:

    标签: asp.net dynamic updatepanel add


    【解决方案1】:

    你需要在UpdatePanel的内容被回发事件处理程序修改后调用Update()方法。

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多