2013-03-13 62 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

相關問題