我在主頁中的兩個標籤中存儲名稱和姓氏。我在課堂上也有這些價值(班級不怎麼做,但我將它們用於未來的擴展)。我有一個用戶控件,它將發送名稱和姓氏爲正文的電子郵件。從頁面到用戶控件傳遞值
我的問題是,如何將標籤或類變量值轉換爲用戶控件的主體變量?
我在主頁中的兩個標籤中存儲名稱和姓氏。我在課堂上也有這些價值(班級不怎麼做,但我將它們用於未來的擴展)。我有一個用戶控件,它將發送名稱和姓氏爲正文的電子郵件。從頁面到用戶控件傳遞值
我的問題是,如何將標籤或類變量值轉換爲用戶控件的主體變量?
與希望傳遞給它的數據的數據類型用戶控件創建一個屬性,並填充它在你的頁面上創建控件。
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? –