Csharp/C#教程:MVC如何使用参数返回视图分享


MVC如何使用参数返回视图

目前我有一个可行的方法,它在点击Razor中的代码链接时正在工作:

@Html.ActionLink("New User ,Register", "Register", new { OpenID = Model.OpenID }) 

我想从控制器返回视图具有相同的效果,此时我正在使用此代码但没有成功

 return View("Register", lm); 

我在MVC很新,所以我有点困惑。 返回的视图与我的上一个代码未命中smt并且我支持与new { OpenID = Model.OpenID }的部分new { OpenID = Model.OpenID }

你能指出我正确的方向吗?

这是我的控制器的方法:

 public ActionResult Register(string OpenID) 

尽量避免使用 ViewDataViewBag 。 尝试使用强类型的ViewModels 。 这使你的代码干净( 下一个开发人员将维护你的代码,HAPPY

ViewModel有一个名为OpenID的属性

 public class RegisterViewModel { //Other Properties also public string OpenID { set; get; } } 

现在,您可以在action方法中返回视图时设置此值:

 public ActionResult Register(string OpenId) { var vm = new RegisterViewModel(); vm.OpenID = OpenId; return View(vm); } 

您可以将所需的任何数据添加到ViewBag变量中。

在您的控制器中,您可以设置值。

调节器

 public ActionResult Register() { ViewBag.OpenID = OpenID; return View() } 

在剃刀视图中,您可以以相同的方式访问它

MVC3 Razor View

 @ViewBag.OpenID 

请看一下这个视图(ViewA):

 
@Html.ActionLink("My link", "ViewB", new { someData = "some data I'm passing on" })

而这两个动作:

  public ActionResult ViewA() { return View(); } public ActionResult ViewB(string someData) { //Here someData has the value "some data I'm passing on" return View(); } 

我们只是通过get传递值(即查询字符串)。 通过匹配名称,MVC能够为我们做魔术=)

希望这可以帮助。

问候

上述就是C#学习教程:MVC如何使用参数返回视图分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ctvol.com/cdevelopment/1002070.html

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐