sil*_*vdb 2 c# asp.net createuserwizard
我正在使用ASP的createUserWizard控件来创建我的用户,并且我想在我自己的表中添加一些额外的字段(有用户的额外信息).
我尝试使用findContol属性在代码后面访问这些自定义文本框(因为它们在createUserWizard中)
问题是我声明并初始化为控件的文本框为null.我是这样做的:
TextBox t_desc = (TextBox)(CreateUserWizard1.FindControl("txt_desc"));
o.organisation_description = t_desc.Text;
Run Code Online (Sandbox Code Playgroud)
这就是嵌套控件的方式:
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server"
oncreateduser="CreateUserWizard1_CreatedUser">
<WizardSteps>
<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server"
Title="Registreer uw organisatie">
<ContentTemplate>
<div class="row">
<div class="half">
<table>
<tr>
<td align="right">
<asp:Label ID="lbl_organisation_description" runat="server" AssociatedControlID="txt_desc">Beschrijf uw organisatie:</asp:Label>
</td>
<td>
<asp:TextBox ID="txt_desc" runat="server" ValidationGroup="CreateUserWizard1"></asp:TextBox>
</td>
</tr>
</table>
</div>
</div>
</ContentTemplate>
</asp:CreateUserWizardStep>
</WizardSteps>
</asp:CreateUserWizard>
Run Code Online (Sandbox Code Playgroud)
CreateUserWizardStep step = (CreateUserWizardStep) CreateUserWizard1.FindControl("CreateUserWizardStep1");
if (step!=null)
{
TextBox txt = (TextBox)step.ContentTemplateContainer.FindControl("txt_desc");
}
Run Code Online (Sandbox Code Playgroud)
或者如果您可以从服务器代码中看到您的步骤控制
TextBox txt = (TextBox)CreateUserWizardStep1.ContentTemplateContainer.FindControl("txt_desc");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3133 次 |
| 最近记录: |