将值从页面传递到用户控件
我将名称和姓氏存储在主页面的两个标签中。 我在类中也有这些值(类没有做太多但是我将它们用于将来的扩展)。 我有一个用户控件,它将发送一个名称和姓氏为正文的电子邮件。
我的问题是如何将标签或类变量值转换为用户控件的body变量?
使用要传递给它的数据的数据类型在用户控件上创建属性,并在创建控件时在页面中填充该属性。
public class myUserControl : Control { ... public int myIntProperty {get; set;} ... }
稍后在你后面的代码中你可以赋值
myUserControl cntrl = new myUserControl(); cntrl.myIntProperty = 5;
而不是这个你可以通过Markup也传递价值
您需要在控件上创建属性以保存这些值; 然后从页面代码中,只需将值分配给控件中的属性。
在你的控制下,你可以有类似的东西
public string FirstName { get { if (ViewState["FirstName"] == null) return string.Empty; return ViewState["FirstName"].ToString(); } set { ViewState["FirstName"] = value; } }
第1步:您可以将值作为属性公开,然后您可以轻松地使用它。
步骤2:要从用户控件访问您的页面,您可以使用Parent
属性,或者可以通过某些客户登录来访问父页面,而不是编写代码来使用属性值。
您需要在控件上定义公共属性,然后在页面上使用控件时,可以将值传递给这些参数。
就像是:
MyProperty2=<%# label2 %> />
你可以在你的用户控件中做这样的事情
string x=((yourparentcontrol)this.parent).label1.text;
并使用字符串x
。
- 从IhttpModule中注入js
- 如何通过API C#和Template将自定义变量添加到SendGrid电子邮件中
- 使用viewmodel中的列表将字典绑定到复选框
- 在浏览器中显示word / pdf / excel等文件。 (Asp.net,C#.net 2008)
- 使用ITextsharp将Html导出为PDF
- Html.OpenIdSelectorScripts抛出NullReferenceException的helper方法
- 通过viber或whatsapp以编程方式发送消息
- 可以使用XmlWriter将XML写入内存吗?
- 基于Gridview的RowDataBound事件中的行数据的单元格中的条件输出