我正在创建一个.NET网站,这是我第一次使用createuserwizard控件。
我需要预先填写用户的电子邮件地址(该网站仅限邀请)并禁用它。但是,仍然需要电子邮件字段。
我已设法编辑模板并禁用电子邮件字段,并以编程方式填写.aspx.cs文件。但是,当我禁用电子邮件字段并预先填写它时,createuserwizard表单将不会提交。它将电子邮件字段视为空,并始终将我返回到创建用户页面,电子邮件字段带有红色星号。即使我将RequireEmail属性设置为False,也会发生这种情况。
有没有办法强制用户注册给定的电子邮件地址?我曾希望createuserwizard能让我的生活更轻松,但到目前为止还没有。感谢。
答案 0 :(得分:1)
我做过这样的事 - 在我的情况下我不想要一个单独的用户名,我用他们的电子邮件地址作为他们的用户名(并且不允许他们改变它),所以我做了:
这就是我所需要的 - 如果您不关心强制使用用户名,我建议您连接到CreatingUser事件并检查电子邮件Text属性以确保其设置正确。
。也许其他东西在你设置后清除它。FWIW,在我的代码隐藏中,我添加了几个属性,以便更容易访问这些文本框,尽管可能有更好的方法:)
private TextBox UserName {
get { return GetWizardControl<TextBox>("UserName"); }
}
private TextBox Email {
get { return GetWizardControl<TextBox>("Email"); }
}
private T GetWizardControl<T>(string id) where T : Control {
return (T)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl(id);
}
答案 1 :(得分:0)
另一种解决方案是在电子邮件的必填字段验证器上设置Disabled属性 - 我是通过编辑aspx代码手动完成的。我没有完全测试这个替代方案,因为James Manning提供的答案为我工作。
答案 2 :(得分:0)
READONLY和DISABLED都删除了输入字段的功能,但程度不同。 READONLY锁定字段:用户无法更改值。 DISABLED做了同样的事情,但更进一步:用户不能以任何方式使用该字段,不突出显示文本进行复制,不选择复选框,不提交表单。事实上,如果提交表单,则甚至不会发送已停用的字段。
从这里采取:http://www.htmlcodetutorial.com/forms/_INPUT_DISABLED.html