我在主页面上将名字和姓氏存储在两个标签中。我也在一个类中保存了这些值(这个类并不做太多事情,但我会在未来扩展时使用它们)。我有一个用户控件,它将以名字和姓氏作为邮件正文进行发送。
我的问题是如何将标签或类变量的值传递到用户控件的正文变量中?
我在主页面上将名字和姓氏存储在两个标签中。我也在一个类中保存了这些值(这个类并不做太多事情,但我会在未来扩展时使用它们)。我有一个用户控件,它将以名字和姓氏作为邮件正文进行发送。
我的问题是如何将标签或类变量的值传递到用户控件的正文变量中?
public class myUserControl : Control
{
...
public int myIntProperty {get; set;}
...
}
稍后在代码后台,您可以像这样分配值:
myUserControl cntrl = new myUserControl();
cntrl.myIntProperty = 5;
你可以通过Markup传递值,而不是像这样:
<uc1:myUserControl ID="uc1" runat="server" myIntProperty="5" />
public string FirstName
{
get {
if (ViewState["FirstName"] == null)
return string.Empty;
return ViewState["FirstName"].ToString();
}
set {
ViewState["FirstName"] = value;
}
}
[Browsable(true), EditorBrowsable(EditorBrowsableState.Always), Bindable(true)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] [Description("Some description"), Category("Misc"), DefaultValue(string.Empty)]
,你永远无法使其正常工作。 - WLFree<cc:mycustomControl runat="server"
MyProperty1=<%# label1 %>
MyProperty2=<%# label2 %>
/>
步骤1:您可以将值公开为属性,然后轻松地使用它们。
步骤2:要从用户控件访问页面,您可以使用Parent
属性或者可能需要使用一些自定义登录来访问父页面,然后编写代码以使用属性值。
你可以在你的用户控件中这样做
string x=((yourparentcontrol)this.parent).label1.text;
并使用字符串x
。