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">
4

2 に答える 2

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);

}
于 2013-02-21T01:15:13.160 に答える
2

コードを見る必要があるかもしれませんが、試してみましたか

var v = pt.SelectedItem;

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

このコードは、ascx ファイルや aspx ファイルではなく、コード ビハインド (.cs) ファイルで実行する必要があることに注意してください :)

于 2013-02-21T00:59:39.600 に答える