フォームの PageLoad イベントで、ログインしたテンプレート内のサーバー側コントロールを参照できません。何が欠けていますか。そのため、ログインするとテキスト ボックス コントロールが表示されます。それ以外の場合は、「ログインして soso..
助けてください ..
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 参照を返さないこともテストできます。
非表示のオブジェクトを参照できない場合は、適切な値を入力していない可能性があります。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」で始まる場合、ユーザーを新しいページにリダイレクトしています。
私にとってはうまくいきます。あなたにとってうまくいくことを願っています!