Asp.net mvc 3 如何在MVC3中从一个视图转到另一个视图
我仍在学习,不知道如何做到这一点,我的控制器中有:Asp.net mvc 3 如何在MVC3中从一个视图转到另一个视图,asp.net-mvc-3,Asp.net Mvc 3,我仍在学习,不知道如何做到这一点,我的控制器中有: [HttpGet] public ActionResult Detail(int userId) { var user = ZincService.GetUserForId(userId); UserDetailViewModel userDetail = new UserDetailViewModel(); userDetail.UserId = userId; userDetail.Email = user.Email;
[HttpGet]
public ActionResult Detail(int userId)
{
var user = ZincService.GetUserForId(userId);
UserDetailViewModel userDetail = new UserDetailViewModel();
userDetail.UserId = userId;
userDetail.Email = user.Email;
userDetail.Firstname = user.Firstname;
userDetail.Surname = user.Surname;
return View(userDetail);
}
[HttpGet]
public ActionResult ChangeEmailAddress()
{
return View();
}
在我看来:
<div class="section _100">
<%: Html.LabelFor(model => model.Email)%>
<div>
<%: Model.Email %>
<%: Model.UserId %>
</div>
<div>
<%: Html.ActionLink("Change Email Address", "ChangeEmailAddress", "User", new { area = "Admin", @id = Model.UserId, @email = Model.Email, @name = Model.Firstname }, 0) %>
<%: Html.ValidationMessageFor(model => model.Email)%>
</div>
</div>
型号(电子邮件)%>
型号(电子邮件)%>
我只想从视图中的此处转到另一个视图(ChangeEmailAddress),用户可以在其中将其电子邮件从旧改为新
谢谢为什么将0作为ActionLink的最后一个参数?它应该是空的
<%= Html.ActionLink(
"Change Email Address",
"ChangeEmailAddress",
"User",
new {
area = "Admin",
id = Model.UserId,
email = Model.Email,
name = Model.Firstname
},
null
) %>
然后,您应该定义相应的changemailaddress.aspx
视图,该视图将由此控制器操作呈现并强类型化到您的视图模型中
但更好的方法是只发送请求中的用户id,然后使用此id检索实际用户对象:
<%= Html.ActionLink(
"Change Email Address",
"ChangeEmailAddress",
"User",
new {
area = "Admin",
id = Model.UserId,
},
null
) %>
<%= Html.ActionLink(
"Change Email Address",
"ChangeEmailAddress",
"User",
new {
area = "Admin",
id = Model.UserId,
},
null
) %>
[HttpGet]
public ActionResult ChangeEmailAddress(int id)
{
// retrieve the user object using the id
...
}