5

フォームの PageLoad イベントで、ログインしたテンプレート内のサーバー側コントロールを参照できません。何が欠けていますか。そのため、ログインするとテキスト ボックス コントロールが表示されます。それ以外の場合は、「ログインして soso..

助けてください ..

4

2 に答える 2

7

loginview コントロールで FindControl メソッドを使用して、それらを取得できます...

TextBox t = (TextBox)LoginView2.FindControl("TextBox1");
string s = null;

if (t != null)
{
    // textbox is in the current scope of the LoginView
    s = t.text;
}
else
{
    // the textbox is not in the current scope of the LoginView.
}

ただし、これは LoginView コントロールの表示ビューに現在あるコントロールに対してのみ機能します。テキスト ボックスを取得する前に、ログイン ビューを表示していることをテストする必要があります。または、FindControl が null 参照を返さないこともテストできます。

于 2009-03-21T16:29:39.293 に答える
-1

非表示のオブジェクトを参照できない場合は、適切な値を入力していない可能性があります。LoggedInView 内にネストされた「DropDownList1」というドロップダウン リストがあるとします。DropDownList クラスの FindControl メソッドを使用する新しいオブジェクトを設定し、その NEW オブジェクトを使用する必要があります。

DropDownList d = (DropDownList)ucLogin.FindControl("DropDownList1");

       bool answer = d.SelectedValue.StartsWith("S");
       if (answer == true)
       {
           Response.Redirect("~/MemberPages/ChangePassword.aspx");
       }

私の場合、選択したオブジェクトの値が「S」で始まる場合、ユーザーを新しいページにリダイレクトしています。

私にとってはうまくいきます。あなたにとってうまくいくことを願っています!

  • ベン・スワーズ
于 2012-01-13T22:14:18.697 に答える