2013-03-13 63 views
0

简而言之,我想创建一个可能在输入表单中多次出现的WebControl。我编写的WebControl具有与Web控件中的值(文本框等)相关的属性。我想要做的是在我的提交中按名称访问WebControl的输入元素的内容处理程序如下:如何在ASP.NET中创建WebControl中的公共属性绑定到表单的输入元素?

var firstname = customControl.FirstName; 
var lastname = customControl.LastName; 

我来自WPF背景,所以这只是很熟悉,我陷入了麻烦。

回答

1

这是我的头顶(在其他语言几个月后回到.NET),并且我假设它是用于用户控件的,因为服务器控件对于属性有很好的文档记录。

首先,假设您的用户控件具有文本框txtFirsttxtLast

在代码隐藏中,添加公共属性FirstName和LastName。物业看起来是这样的:

public string FirstName { 
get { return this.txtFirst.Text.Trim(); } 
set { this.txtFirst.Text = value ?? ""; } 
} 

public string LastName { 
get { return this.txtLast.Text.Trim(); } 
set { this.txtLast.Text = value ?? ""; } 
} 

就是这样。如果你没有询问用户控件,我很抱歉。

+0

添加这些复合控件的最佳方式是什么? – Firoso 2013-03-13 01:21:48

+0

我发现的一个示例表明使用ViewState是一个好主意? 得到 String s =(String)ViewState [“StartDate”]; return((s == null)?String.Empty:s); } set { ViewState [“StartDate”] = value; } – Firoso 2013-03-13 01:22:32

+0

@Firoso - 至于“添加这些复合控件”,我不太清楚你的意思。至于视图状态,你一定可以使用它。作为一个事实,这就是我通常如此做的事情。但在这种情况下,我想你想在文本框的基础上值,为什么不把它们存储在那里?他们将在回发中提供给包含表单。如果你的视觉控件没有表现出一个值,那么你一定要使用视图状态,而你给出的例子看起来是正确的。 – 2013-03-13 01:30:15

相关问题