2013-02-21 86 views
1

我有一個在用戶控件中聲明的變量。它是用戶控件中下拉列表的值。當我嘗試在aspx頁面的If語句中使用它時,它說該變量未被聲明。有沒有辦法在aspx頁面上聲明變量,或者讓它識別它是在用戶控制頁面上聲明的?
謝謝未聲明用戶控制變量

我打電話是由

定義的aspx頁面的頂部代碼

<%@ Register src="pType.ascx" tagname="pType" tagprefix="uc2" %> 

我使用if語句

<%If pt.SelectedValue = "1" Then%> 
    \\do things 
    <%End If%> 

在控制PT

<asp:DropDownList ID="pt" runat="server"> 
+0

如何將用戶控件嵌入到aspx頁面中。也許提供你如何嵌入控件並嘗試訪問變量的代碼片段。 – Victor 2013-02-21 00:59:54

+0

謝謝!我添加了一些代碼 – Michelle 2013-02-21 01:03:30

回答

2

我可能需要看代碼,但你有沒有試過

var v = pt.SelectedItem; 

if (v == "1") 
{ 
// do things 
} 

注意:此代碼需要在後面的代碼運行(在的.cs)文件,而不是ASCX或aspx文件:)

+0

我不確定我是否理解你的答案,但我非常感謝你的時間。我添加了一些澄清的代碼,這對你有意義嗎?謝謝! – Michelle 2013-02-21 01:04:11

+0

此代碼應該用於您的控件後面的代碼中,而不是標記中。 – 2013-02-21 04:20:50

+0

啊我明白了。謝謝! – Michelle 2013-02-21 14:59:41

2

我不認爲你可以訪問用戶的屬性控制在aspx頁面。

我知道你可以做的是在用戶代碼後面聲明用戶控件,並將其動態添加到你的頁面。

protected void Page_Init(object sender, EventArgs e) 
{ 

     //MyControl is the Custom User Control with a code behind file 
     MyControl myControl = (MyControl)Page.LoadControl("~/MyControl.ascx"); 

     if (myControl.SelectedValue == 1) { 
     //do work 
     } 
     // User Control is a placeholder in your aspx page 
     UserControlHolder.Controls.Add(myControl); 

} 
+0

謝謝你的幫助! – Michelle 2013-02-21 01:17:25