用户控件声明的属性怎么在.aspx.cs中赋值?
用户控件声明的属性怎么在.aspx.cs中赋值?
用户控件声明属性如下:
public string typeid = "";
public string gettypeid
{
get
{
return typeid;
}
set
{
typeid = value;
}
}
我想在.aspx.cs中实现
uc1.typeid = "2";这样的操作应该怎么写
Attribute.add不行
用户控件声明属性如下:
public string typeid = "";
public string gettypeid
{
get
{
return typeid;
}
set
{
typeid = value;
}
}
我想在.aspx.cs中实现
uc1.typeid = "2";这样的操作应该怎么写
Attribute.add不行
...全文
请发表友善的回复…
发表回复
sprc_lcl 2006-06-21
- 打赏
- 举报
谢谢,问题解诀,感谢,谢谢
sprc_lcl 2006-06-20
- 打赏
- 举报
如果我在页面上直接这么写如下:
<uc1:proexample id="Proexample1" runat="server" typeid="3"></uc1:proexample>
其中的typeid="3" 就可以取出来。
但在CS中:
protected System.Web.UI.UserControl Proexample1;
private void Page_Load(object sender, System.EventArgs e)
{
//这其中
Proexample1.gettypeid = "3";//错误,没显示出来此属性,编译不过去
Proexample1.typeid = "3";//错误,没显示出来此属性,编译不过去
}
<uc1:proexample id="Proexample1" runat="server" typeid="3"></uc1:proexample>
其中的typeid="3" 就可以取出来。
但在CS中:
protected System.Web.UI.UserControl Proexample1;
private void Page_Load(object sender, System.EventArgs e)
{
//这其中
Proexample1.gettypeid = "3";//错误,没显示出来此属性,编译不过去
Proexample1.typeid = "3";//错误,没显示出来此属性,编译不过去
}
疯狂秀才2018 2006-06-20
- 打赏
- 举报
uc.gettypeid="XXX";
这样就是在为typeid符值
typeid最好声明为private
这样就是在为typeid符值
typeid最好声明为private
ccwq 2006-06-20
- 打赏
- 举报
晕。。。这样当然显示不出来了,你是用FindControl,它还没找到怎么显示?
sprc_lcl 2006-06-20
- 打赏
- 举报
***************声明的属性在CS中显不出来**********
UserControl uc=(UserControl)this.FindControl("UserControl1");
uc.属性="XXX";
谁能把uc.typeid这么写上编译不报错!!
UserControl uc=(UserControl)this.FindControl("UserControl1");
uc.属性="XXX";
谁能把uc.typeid这么写上编译不报错!!
Mister 2006-06-20
- 打赏
- 举报
Control mControl = Page.FindControl("用户控件");
Type mControlType = mControl.GetType();
// 访问用户控件的属性
PropertyInfo mUCDisableItem = mControlType.GetProperty("属性名称");
mUCDisableItem.SetValue(mControl, 属性值, 索引) // 无“索引”赋值为 null
// 读取属性用:GetValue 详见 MSDN
// 访问用户控件的方法
MethodInfo mUCMethod = mControlType.GetMethod("方法名称");
mUCMethod.Invoke(mControl, 参数数组);
Type mControlType = mControl.GetType();
// 访问用户控件的属性
PropertyInfo mUCDisableItem = mControlType.GetProperty("属性名称");
mUCDisableItem.SetValue(mControl, 属性值, 索引) // 无“索引”赋值为 null
// 读取属性用:GetValue 详见 MSDN
// 访问用户控件的方法
MethodInfo mUCMethod = mControlType.GetMethod("方法名称");
mUCMethod.Invoke(mControl, 参数数组);
sprc_lcl 2006-06-20
- 打赏
- 举报
Mister(菜青虫)
弄不出来,帮一下,给个例子
弄不出来,帮一下,给个例子
flamelp 2006-06-20
- 打赏
- 举报
加入:
[Bindable(true),Category("Appearance"),DefaultValue("")]
[Bindable(true),Category("Appearance"),DefaultValue("")]
Mister 2006-06-20
- 打赏
- 举报
对于容器 Web Form 来说, Web 用户控件是一个完全未知的黑盒子,所以就必须使用“反应”(Reflection)的机制,所谓的“反应”,指的是以代码动态探索对像类型与显示成员的过程,在 .NET Framework 的 System.Reflection 命名空间,提供了 PropertyInfo 与 MethodlInfo 两个类,并分别包含了 SetValue 与 Invoke 两个静态方法用来访问 Web 用户控件的属性、方法,原形声明如下:
public void SetValue(object obj, object value, object[] index)
public object Invoke(object obj, object[] parameters)
使用如下:
1) 以 Page.FindControl 方法,获取 Web 用户控件的运行实例。
2) 调用该控件的 GetType 方法,获取 Web 用户控件的类型。
3) PropertyInfo 可以利用步骤 2 类型对象的 GetProperty 方法,传递属性的名称作为参数,以便随后调用 SetValue 方法。
4) MethodInfo 则可以利用步骤 2 类型对象的 GetMethod 方法,传递方法的名称作为参数,以便随后调用 Invoke 方法。
public void SetValue(object obj, object value, object[] index)
public object Invoke(object obj, object[] parameters)
使用如下:
1) 以 Page.FindControl 方法,获取 Web 用户控件的运行实例。
2) 调用该控件的 GetType 方法,获取 Web 用户控件的类型。
3) PropertyInfo 可以利用步骤 2 类型对象的 GetProperty 方法,传递属性的名称作为参数,以便随后调用 SetValue 方法。
4) MethodInfo 则可以利用步骤 2 类型对象的 GetMethod 方法,传递方法的名称作为参数,以便随后调用 Invoke 方法。
sprc_lcl 2006-06-19
- 打赏
- 举报
声明的属性在CS中显不出来 知道答案的说简洁点,我想我会明白的
Lcindep110 2006-06-19
- 打赏
- 举报
protected 用户控件所在的名称空间 usercontrol1 //这个名字要与页面的用户控件名字一致,否则要出错的。
usercontrol1.gettypeid = "2"
private string typeid = "";
public string gettypeid
{
get
{
return typeid;
}
set
{
typeid = value;
}
}
usercontrol1.gettypeid = "2"
private string typeid = "";
public string gettypeid
{
get
{
return typeid;
}
set
{
typeid = value;
}
}
lizheng__114 2006-06-19
- 打赏
- 举报
ding
loveyzy 2006-06-19
- 打赏
- 举报
hxling1981(冷雨星空)说得不是很清楚了嘛
sprc_lcl 2006-06-19
- 打赏
- 举报
。。
sprc_lcl 2006-06-19
- 打赏
- 举报
......... ***************声明的属性在CS中显不出来**********
疯狂秀才2018 2006-06-19
- 打赏
- 举报
例如:
用户控件文件名:UserControl.ascx
UserControl uc=(UserControl)this.FindControl("UserControl1");
uc.属性="XXX";
这样就可以了
用户控件文件名:UserControl.ascx
UserControl uc=(UserControl)this.FindControl("UserControl1");
uc.属性="XXX";
这样就可以了