Asp.net 只是可以在updatepanel中动态添加有限的用户控件
对不起,我的语言问题:D 我已经编写了下面的代码,对此我没有问题,但我可以动态添加6个以上的用户控件(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"
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()
方法