目前我有一个有效的方法,当单击此处的链接时它正在工作 Razor 中的代码:
@Html.ActionLink("New User ,Register", "Register", new { OpenID = Model.OpenID })
我想有相同的效果,但从 Controller 返回 View ,目前我使用这段代码没有成功
return View("Register", lm);
我是 MVC 的新手,所以我有点困惑。我最后一个代码 miss smt 返回的 View 和我支持的部分 new { OpenID = Model.OpenID }
你能给我指出正确的方向吗?
这是我的 Controller 的方法:
public ActionResult Register(string OpenID)
最佳答案
尝试avoid ViewData
和 ViewBag
。尝试使用强类型 ViewModels
。这使您的代码干净(和下一个维护您的代码的开发人员,HAPPY)
在您的 ViewModel
中有一个名为 OpenID
的属性
public class RegisterViewModel
{
//Other Properties also
public string OpenID { set; get; }
}
现在您可以在返回 View 时在您的action
方法中设置此值:
public ActionResult Register(string OpenId)
{
var vm = new RegisterViewModel();
vm.OpenID = OpenId;
return View(vm);
}
关于c# - MVC 如何返回带有参数的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11476263/