编辑OnCreatingUser事件中的CreateUserWizard文本框

本文关键字:CreateUserWizard 文本 OnCreatingUser 事件 编辑 | 更新日期: 2023-09-27 18:01:30

我有这样一个场景。我有收银机。Aspx用于注册新用户。我使用CreateUserWizard。我希望用户只使用公司的电子邮件进行注册。因此,我在显示域的Email文本框旁边放置了一个标签,这意味着用户不再需要输入域。我的HTML看起来像这样:

<asp:TextBox ID="Email" runat="server" CssClass="textEntry1"></asp:TextBox>
<asp:Label ID="lblEmail" runat="server" Text="@domain.com"></asp:Label>

我所做的是将标签添加到文本框中。文字如下:

protected void RegisterUser_CreatingUser(object sender, EventArgs e)
{
    TextBox _txtEmailAddress = (TextBox)RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl("Email");
    Label _lblEmailAddress = (Label)RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl("lblEmail");
    _txtEmailAddress.Text = _txtEmailAddress.Text + _lblEmailAddress.Text;
}

我使用OnCreatingUser事件来做到这一点。

_txtEmailAddress。文本将有用户键入的电子邮件的完整价值和我已经固定的域部分。我希望将此更新到电子邮件字段,以便它将被正确地存储到数据库中。

但是当我调试代码时,我意识到RegisterUser.Email仍然有没有域的Email。而不是得到像"myemail@domain.com"这样的东西,我只得到"myemail"存储。我不确定把我自己的域名加到他们的邮件里是否正确。很可能不会。如有任何指示,不胜感激。

编辑OnCreatingUser事件中的CreateUserWizard文本框

需要设置的是CreateUserWizard控件的.Email属性,而不是TextBox控件的值。这实际上是在后端传递给MembershipProvider的CreateUser方法的内容。

:

protected void RegisterUser_CreatingUser(object sender, EventArgs e)
{
    TextBox _txtEmailAddress = (TextBox)RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl("Email");
    Label _lblEmailAddress = (Label)RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl("lblEmail");
    // Set the email property of the CreateUserWizard control to append the domain
    RegisterUser.Email = _txtEmailAddress.Text + _lblEmailAddress.Text;
}
相关文章:
  • 没有找到相关文章