ユーザーを登録するための簡単なCreateUserWizardを作成しました。LastNameとFirstNameの2つのTextBoxを追加しました。
ここで、ユーザー登録時にデータベースに追加したいと思います。これが私がしたことです:
<asp:CreateUserWizard ID="RegisterUser" runat="server" EnableViewState="false" OnCreatedUser="RegisterUser_CreatedUser" RequireEmail="false">
<WizardSteps>
<asp:CreateUserWizardStep ID="RegisterUserWizardStep0" runat="server">
<ContentTemplate>
<asp:TextBox ID="LastName" runat="server" ></asp:TextBox>
[...]
<asp:Button ID="CreateUserButton" runat="server" CommandName="MoveNext" Text="S'inscrire"
ValidationGroup="RegisterUserValidationGroup"/>
そして.csファイルで:
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
TextBox test = RegisterUser.FindControl("LastName") as TextBox;
// Or using the generated ID
TextBox test2 = RegisterUser.FindControl("MainContent_RegisterUser_CreateUserStepContainer_LastName") as TextBox;
}
しかし、私が何をしようとも、私のTextBoxは常にnull
...
私は何か見落としてますか ?これらのTextBoxの値を取得するにはどうすればよいですか?
編集: この解決策は私のために働いた:
(TextBox)RegisterUser.WizardSteps[0].FindControl("CreateUserStepContainer").FindControl("LastName");
唯一の問題は、デバッガーを使用してコンテナー名「CreateUserStepContainer」を見つけたことです...