Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 只是可以在updatepanel中动态添加有限的用户控件_Asp.net_Dynamic_Updatepanel_Add - Fatal编程技术网

Asp.net 只是可以在updatepanel中动态添加有限的用户控件

Asp.net 只是可以在updatepanel中动态添加有限的用户控件,asp.net,dynamic,updatepanel,add,Asp.net,Dynamic,Updatepanel,Add,对不起,我的语言问题:D 我已经编写了下面的代码,对此我没有问题,但我可以动态添加6个以上的用户控件(DriverInfo.ascx) 我尝试了一个简单的代码,用一个文本框代替用户控件,但它对超过30个文本框不起作用。我不知道是什么问题,弄糊涂了。有什么问题 AddDynamicDriver.ascx: <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AddDynamicDirver.ascx.cs"

对不起,我的语言问题: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>
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();
}

addDynamicDriver.ascx.cs:

<%@ 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>
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();
}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!IsPostBack)
{
会话[“DynamicDriverNumber”]=1;
LoadCreatedControl();
}
}
私有void LoadCreatedControl()
{
变量编号=(int)会话[“DynamicDriverNumber”];

对于(int i=1;i您需要在回发事件处理程序修改
UpdatePanel
的内容后调用
Update()
方法