gpt4 book ai didi

asp.net - 从动态注册的用户控件中获取值

转载 作者:行者123 更新时间:2023-12-04 18:20:46 26 4
gpt4 key购买 nike

在我的主 .aspx 页面中,我有一个占位符,它在其中动态注册了两种类型的用户控件。

case "1":
var control = (ControlType)LoadControl("~/PathToControl.ascx");
control.Property = value;
control.Initialize();
placeholder.controls.add(control);
break;
case "2":
var control1 = (ControlType)LoadControl("~/PathToControl1.ascx");
control1.Property = value;
control1.Initialize();
placeholder.controls.add(control1);
break;

每个控件都有一些用户控件。

现在,在主页中,我有一个提交按钮,我想从上面的自定义控件中获取每个用户 coltrol 的值。
我试图获取占位符的控件,但回发后的占位符为空。
if(placeholder.Controls.count>0){
var userControl = ((UserControlType)placeholder.Controls[0]);
var controlName = userControl.FindControl("ControlName") as TextBox;
}

我还尝试在 page_init 上构建自定义控件,但我仍然无法获取用户控件。

有谁知道我怎样才能做到这一点?

解决方案

每次访问都必须在 Init Event 中设置动态用户控件。

更多信息 http://msdn.microsoft.com/en-us/library/ms972976.aspx#viewstate_topic4

最佳答案

由于用户将单击提交按钮,因此值将与表单一起发布。这是获取值的最简单方法:

  • 创建动态控件时,设置 ID 属性,例如:
    control1.ID = "control1";
  • 在回发时,从表单中检索值:
    var control1Value = Request.Form["control1"];
  • 关于asp.net - 从动态注册的用户控件中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10738334/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com