基本上,我的问题是这样的:我试图在ASPX页面上显示一个ViewData变量,但我得到了#34; ViewData在当前上下文中不存在。"
是什么让我来到这里?我是MVC的新手,正在关注一个在线教程。在第1课中,他让我们通过添加>来创建视图。视图,创建Razor视图。然后,在下一个教程中,他教我们使用ViewData将变量传递给视图。但是,当他显示它时,他使用<%:%>这样做了。方法,在我的Razor页面上不起作用。因此,我尝试通过以传统方式创建Web表单在View文件夹中创建ASPX页面。当我这样做时,我得到上面提到的错误。我已经成功地弄清楚了如何在我的cshtml页面中使用Razor方法,但是我应该在适当的方法中使用"尖括号 - 百分比"方式是什么?
编辑:基本上,我所做的就是按照以下演练中的教程2的说明进行操作。他并没有真正解释他如何创建ASPX页面(或者他根本使用的是ASPX页面)。如果有人知道更好的教程更完整,我全都耳朵。 http://www.codeproject.com/Articles/207797/Learn-MVC-Model-View-Controller-step-by-step-in#Lab1:-创建一个简单的hello world ASP.NET MVC Application
Edit2:根据要求,这是我的代码:
ASPX:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="MVCLearn.Views.FirstMVC.Index" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%= ViewData["vwTest"] %>
</div>
</form>
</body>
</html>
这是我的控制器:
public class FirstMVCController : Controller
{
// GET: FirstMVC
public ActionResult Index()
{
ViewData["vwtest"] = "Something";
return View();
}
public ActionResult SayHello()
{
return View("HelloView");
}
}
答案 0 :(得分:0)
<%= ViewData["vwTest"] %>
ViewData["vwtest"] = "Something";
vwTest!= vwtest
你应该写同名
<%= ViewData["vwTest"] %>
ViewData["vwTest"] = "Something";