如果这是一个菜鸟问题,请原谅我,但我已经在 SO、google 上进行了搜索,并花了一个多小时阅读 ASP.NET MVC 4 PRO 书籍,阅读有关 Rendering Stronly Typed Helpers 等。我刚刚开始学习 ASP.NET 4 MVC所以请对我放轻松。
我有一个名为的模型类USER
和一个用覆盖的 getter 和 setter 调用的属性Name
(我这样称呼它,我不确定这是否是正确的命名)
//using...
namespace MvcMyApplication1.Models
{
public class User
{
[ScaffoldColumn(false)]
public int Id { get; set; }
public string Name
{
get
{
return WindowsIdentity.GetCurrent().Name.Split('\\')[1];
}
set
{
Name = WindowsIdentity.GetCurrent().Name.Split('\\')[1];
}
}
[Required(ErrorMessage="Password is required")]
public string Password { get; set; }
}
}
所以,我View
试图显示get
函数的结果,但我迷路了,不知道该怎么做。
@using(Html.BeginForm())
{
@Html.ValidationSummary(excludePropertyErrors: true);
// changed from LabelFor to DisplayFor
@Html.DisplayFor(m => m.Name)<br />
@Html.PasswordFor(m => m.Password)<br />
<input type="submit" value="Log in" />
}
我试图添加属性,但是我不确定如何将属性分配Name=
给get
函数
[DisplayName(Name="I want to call the get function here")]
public string Name { get; set; }
在我的控制器中,我有以下代码:
[HttpGet]
public ActionResult Index()
{
User newUser = new User();
return View();
}
[HttpPost]
public ActionResult Index(User m)
{
if (ModelState.IsValid)
{
return View("Report", m);
}
{
return View(m);
}
}
这转到Report
通常显示的视图Windows login
@using (Html.BeginForm())
{
@Html.DisplayForModel()
}
编辑:
在LabelFor
与DisplayFor
windows 交换登录后,但仅在单击登录按钮后才会呈现。我第一次打开页面时它不会呈现