c# - MVC 如何返回带有参数的 View

标签 c# asp.net-mvc razor

目前我有一个有效的方法,当单击此处的链接时它正在工作 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 ViewDataViewBag 。尝试使用强类型 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/

相关文章:

c# - EF SaveChanges() 背后发生了什么

c# - 请求的资源不支持经过适当修饰的 http 方法 'POST' - Web API

c# - Sqlite-net 扩展关系始终为空

c# - Asp.net 5 MVC 6 500 内部服务器错误 - Angular 2

asp.net-mvc - MVC 4 - 更优雅的方式来编辑可变长度的项目列表?

asp.net-mvc - 有条件地在 webgrid 中显示图像 - mvc 3

c# - 使用 Serilog 时如何在输出消息中获取丰富的属性

asp.net-mvc - 为 session 设置 HttpContext.User

c# - 为什么同时具有 _ViewStart 和 _ViewImports?为什么不是一个文件?

c# - 我应该按照 Visual Studio 的建议将 @Html.Partial 更改为 @Html.PartialAsync 吗?