如何解决在asp.net动态数据中,如何使用UIHint创建自动填充字段?
| 我正在使用asp.net动态数据。我要为用户自动填写一个字段。该文件是可以通过集成Windows身份验证获得的用户名。 我创建了一个字段模板,该模板可以在“插入”模式下工作,但是在“更新”模式下,一旦另一个用户更新了记录,则应该保存新的用户名,但是没有保存。解决方法
我找到了一个解决方案,我想分享。
将
UIHint
应用于实体字段:
[UIHint(\"UserName\")]
public object Name { get; set; }
创建一个新的FieldTemplate
:
<asp:TextBox ID=\"TextBox1\" runat=\"server\" ReadOnly=\"true\" BorderStyle=\"None\"
BackColor=\"Transparent\" Text=\'<%# FieldValueEditString %>\'></asp:TextBox>
behind2ѭ的代码后面:
public partial class UserName_EditField : FieldTemplateUserControl
{
protected void Page_Load(object sender,EventArgs e)
{
SetUpValidator(RequiredFieldValidator1);
EditFieldTemplateUserControl.InsertHelpText(this);
}
protected override void OnDataBinding(EventArgs e)
{
base.OnDataBinding(e);
TextBox1.Visible = true;
}
protected string UserName
{
get
{
var name = this.Page.User.Identity.Name.ToString();
return name;
}
}
protected override void ExtractValues(IOrderedDictionary dictionary)
{
if (Page.IsPostBack)
{// only assign value when user posts back.
this.TextBox1.Text = this.UserName.ToUpper();
dictionary[Column.Name] = ConvertEditedValue(TextBox1.Text);
}
}
public override Control DataControl
{
get
{
return TextBox1;
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。