在MVC中创建ASPX视图的正确方法是什么?

时间:2015-01-16 15:27:58

标签: c# asp.net-mvc

基本上,我的问题是这样的:我试图在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");
        }
    }

1 个答案:

答案 0 :(得分:0)

      <%= ViewData["vwTest"] %>
  ViewData["vwtest"] = "Something";

vwTest!= vwtest

你应该写同名

   <%= ViewData["vwTest"] %>
      ViewData["vwTest"] = "Something";