我在主页中的两个标签中存储名称和姓氏。我在课堂上也有这些价值(班级不怎么做,但我将它们用于未来的扩展)。我有一个用户控件,它将发送名称和姓氏为正文的电子邮件。从页面到用户控件传递值
我的问题是,如何将标签或类变量值转换为用户控件的主体变量?
我在主页中的两个标签中存储名称和姓氏。我在课堂上也有这些价值(班级不怎么做,但我将它们用于未来的扩展)。我有一个用户控件,它将发送名称和姓氏为正文的电子邮件。从页面到用户控件传递值
我的问题是,如何将标签或类变量值转换为用户控件的主体变量?
与希望传递给它的数据的数据类型用户控件创建一个属性,并填充它在你的页面上创建控件。
public class myUserControl : Control
{
...
public int myIntProperty {get; set;}
...
}
后来这后面的代码中,你可以指定喜欢
myUserControl cntrl = new myUserControl();
cntrl.myIntProperty = 5;
取而代之的是价值,你可以通过标记传递值也很喜欢
<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;
}
}
第1步: 可以expost值,房产,比你可以利用的,很容易。
步骤2:要从用户的控制,你可以利用Parent
财产或者可能有些custome登录访问父页面和比写代码来使用属性值访问你的页面。
我们的答案是否中途遇到:) – ViSu
你可以做这样的事情在你的用户控件
string x=((yourparentcontrol)this.parent).label1.text;
和使用字符串x
。
尝试..它给了我一个错误 关键字'this'在当前上下文中不可用 –
您需要在控件上定义公共属性,然后在页面上使用控件时,可以将值传递给这些参数。
喜欢的东西:
<cc:mycustomControl runat="server"
MyProperty1=<%# label1 %>
MyProperty2=<%# label2 %>
/>
这种方式如果罚款时只有几个控件通过 但具有大量代码将是凌乱的 我不能通过其他方式的价值? –
不知道我明白了。为什么它很混乱。你是什么意思以其他方式传递?它是如何传递它的确切语法? –
不,我的意思是为每个属性写代码将使代码更长 我仍然是绿色的,所以我正在努力按书去..较长的代码,错误的更多的机会 –
在该环境中用户控件产生的? –
对不起,我是ASP.NET和C#的新手 环境中你究竟意味着什么? –
这意味着usercontrol是否属于ajax? –