MVC how to return a view with a parameter
asp.net-mvc, c#, razor
Solution
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);
}
Problem
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) ```