我正在开发一个应用程序,我需要将用户名的值从控制器传递给视图.
我尝试了在 http://msdn.microsoft.com/en-us/library/system.web.mvc.viewdatadictionary.aspx给出的ViewData
我尝试了在 http://msdn.microsoft.com/en-us/library/system.web.mvc.viewdatadictionary.aspx给出的ViewData
我的代码在控制器是
public ActionResult Index(string UserName,string Password) { ViewData["UserName"] = UserName; return View(); }
其中用户名和密码是从另一个表单获得的.
而视图中的代码是
@{ ViewBag.Title = "Index"; } <h2>Index</h2> <%= ViewData["UserName"] %>
但是当我运行这个代码时,显示屏显示<%= ViewData [“UserName”]%>而不是实际的用户名,例如“XYZ”.
我应该如何显示实际的UserName?
非常感谢您的帮助.
解决方法
你在这里使用剃刀语法,但是您正在尝试将其与较早的asp.net语法混合使用
@ViewData["UserName"]
代替
另外,通常你不会使用查看包将数据传递给视图.标准做法是创建一个模型(标准类),其中View(页面)所需的所有数据位都会通过控制器将该模型传递给视图(返回View(myModel));
为此,您还需要声明您在视图中使用的模型类型
@model Full.Namespace.To.Your.MyModel
阅读http://msdn.microsoft.com/en-us/gg618479的基本mvc模型教程