gpt4 book ai didi

c# - Findcontrol 属性在 createUserWizard 中不起作用

转载 作者:行者123 更新时间:2023-11-30 20:04:00 26 4
gpt4 key购买 nike

我正在使用 ASP 的 createUserWizard 控件来创建我的用户,我想添加一些额外的字段(包含有关用户的额外信息),我将这些字段保存在我自己的表中。

我尝试使用 findContol 属性在代码后面访问这些自定义文本框(因为它们在 createUserWizard 中)

问题是我声明并初始化为控件的文本框为空。以下是我的做法:

TextBox t_desc = (TextBox)(CreateUserWizard1.FindControl("txt_desc")); 
o.organisation_description = t_desc.Text;

控件是这样嵌套的:

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

最佳答案

 CreateUserWizardStep step =   (CreateUserWizardStep)  CreateUserWizard1.FindControl("CreateUserWizardStep1"); 
if (step!=null)
{
TextBox txt = (TextBox)step.ContentTemplateContainer.FindControl("txt_desc");
}

或者如果您可以从服务器代码中看到您的步骤控制

TextBox txt =  (TextBox)CreateUserWizardStep1.ContentTemplateContainer.FindControl("txt_desc");

关于c# - Findcontrol 属性在 createUserWizard 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13861442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com