【发布时间】:2010-11-12 05:32:31
【问题描述】:
我正在尝试在 ASP.NET MVC 中创建一个视图,其中分别修改视图模型的不同部分以捕获意图。
例如,对用户的修改可以一次通过以下方式之一进行:
- 修改名称,
- 修改邮箱,
- 修改密码,
- 修改状态
public class UserEditViewModel
{
public string DepartmentDetails { get; set; }
[HiddenInput(DisplayValue = false)]
public Guid UserId { get; set; }
public class UserNameEditModel
{
[Required(ErrorMessage = "Name Required")]
[DisplayName("Name")]
[StringLength(50, ErrorMessage = "Name must be less than or equal to 50 characters")]
public string Name { get; set; }
}
public class UserPasswordEditViewModel
{
[Required(ErrorMessage = "Password cannot be Empty")]
[DisplayName("Password")]
public string Password { get; set; }
[Required(ErrorMessage = "Confirm Password is Required")]
[DisplayName("Confirm Password")]
public string ConfirmPassword { get; set; }
}
public class UserStatusEditViewModel
{
[Required(ErrorMessage = "Status Required")]
[DisplayName("Status")]
public bool Status { get; set; }
[Required(ErrorMessage = "Comment Required")]
[DisplayName("Comment")]
public string Comment { get; set; }
}
}
我想做的是基于外部类+内部类之一创建强类型的部分视图。 每个部分视图都有自己的表单提交,其中的动作指向单独的控制器动作(编辑密码、编辑名称、编辑状态...)
我尝试 t0 基于 outerclass+ 内部类之一 创建视图,这是我在自动视图构建器向导中得到的,但它无法解析 DepartmentDetails 以及外部类的 UserID。 p>
- 我想要在 ASP.NET MVC 2 / 3 Beta 中做的事情可能吗?
- 稍后我将使用 Ajax 进行增强,但我想在没有它的情况下做尽可能多的表单发布。
- 如果可以让部分视图上的单独表单独立工作,那么我想一种解决方案可能是在每个 EditviewModel 上设置 User Id 和 Details,并让视图使用一个 ViewModel。
【问题讨论】:
标签: asp.net-mvc viewmodel partial-views