【发布时间】:2015-12-22 08:19:24
【问题描述】:
IDE:VS 2012 网页
我有一个 test.aspx 页面,用户控件是使用以下代码在此页面上动态添加的
internal static List<ucTest> collTest = null;
private void PageLoad()
{
//called in page on load, handled properly across postback.
collTest = new List<ucTest>();
}
private void AddTestControl()
{
ucTest obj= LoadControl("~/UserControl/ucTest.ascx") as ucTest;
collTest.Add(obj); //control instance is added in list, to retrieve back values.
}
现在在文件后面的 test.aspx 代码中的 buttonSave Click 上,我正在尝试取回 ucTest 文本框值。,我正在变空。你能告诉我如何保留这个价值吗?
protected void btnSave_Click(object sender, EventArgs e)
{
ucTest test = (ucTest )this.FindControl("ucTest.ascx"); //not working, test is null.
foreach (ucTest objTest in collTest)
{
string s = objTest.txtSomthing.value; //here s is showing empty.., even the value is populated in form.; , txtSomthing is public in designer.
}
}
有没有办法从ucTest中检索这些值呢,aspx页面可以包含多个ucTest控件。
【问题讨论】:
-
你在哪里打电话
AddTestControl()? -
动态添加这个用户控件有什么原因吗?另外,为什么要将用户控件添加到列表中?你到底想达到什么目的?
-
当下拉值发生变化时添加控件,例如 1, 2 ,3 ,4 等,一切都很完美,我需要知道如何取回这些值。
标签: c# jquery asp.net visual-studio-2012 user-controls