且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MVC怎么回事观点与参数

更新时间:2023-12-04 21:50:10

尽量避免 ViewData的 ViewBag 。尝试使用强类型的ViewModels。这使得你的code干净(和下一个开发谁是要去维护您的code,HAPPY)

的OpenID 中称为属性的视图模型

 公共类RegisterViewModel
{
  //其他属性也
 公共字符串的OpenID {集;获取;}
}

现在你可以返回视图时,在你的操作设置这个值

 公众的ActionResult寄存器(串的OpenID)
{
  VAR VM =新RegisterViewModel();
  vm.OpenID =的OpenID;
  返回查看(VM);
}

At the moment I have a Method that work, it is working when clicking a link here the code in Razor:

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

I would like have the same effect with but returning the View from the Controller, at the moment I'm using this code with no success

return View("Register", lm);

I'm pretty new at MVC so I'm a bit confused. The view returned with my last code miss smt and I support is connected with the part new { OpenID = Model.OpenID }

Could you point me out in the right direction?

This how it is the method for my controller:

public ActionResult Register(string OpenID)

Try to avoid ViewData and ViewBag . try to use strongly typed ViewModels. That makes your code clean ( and the next developer who is gonna maintain your code, HAPPY)

Have a Property called OpenID in your ViewModel

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

Now you can set this value when returning the view, in your action method

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