我正在尝试为Windows auth MVC应用创建一个剃刀页面,用于跟踪创建记录的人员。基本思想如下:
public class User {
public int Id {get;set;}
public string NetworkId {get;set;}
}
public class Event {
public int Id {get;set;}
public int UserId {get;set;}
public DateTime Created {get;set;}
public virtual User User {get;set;}
}
在Razor页面上,我尝试创建HiddenFor
来设置用户ID,但我无法正确发布。设置Created
字段可以正常工作(@Html.HiddenFor(model => model.Created, new { Value = DateTime.Now })
),但UserId
不会设置。
这不起作用:
@Html.HiddenFor(model => model.User.NetworkId, new { Value = User.Identity.Name })
抛出空引用异常:
@{
Model.User.NetworkId = User.Identity.Name;
}
@Html.HiddenFor(model => model.User.NetworkId)
除了在桌面上查找NetworkId并拉回实际的主键外,必须有一种更简单的方法。
有什么想法吗?