I am developing an application where I need to pass the value of username from a controller to a view.
i tried ViewData as given in http://msdn.microsoft.com/en-us/library/system.web.mvc.viewdatadictionary.aspx
My code in controller is
public ActionResult Index(string UserName, string Password)
{
ViewData["UserName"] = UserName;
return View();
}
where username and password are obtained from another form.
And the code in the view is
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<%= ViewData["UserName"] %>
But when I run this code, the display shows <%= ViewData[“UserName”] %> instead of the actual username say, for example “XYZ”.
How should I display the actual UserName?
Thank you very much in advance for your help.
You’re using razor syntax here but you’re trying to mix it with older asp.net syntax, use
instead
Also, normally you wouldn’t use the view bag to pass data to the view. Standard practice is to create a model (a standard class) with all of the bits of data your View (page) wants then pass that model to the view from your controller (return View(myModel);)
To do this you also need to declare the type of model you’re using in your view
read http://msdn.microsoft.com/en-us/gg618479 for a basic mvc models tutorial