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
    ...
}