【问题标题】:What is the PROPER way to create an ASPX View in MVC?在 MVC 中创建 ASPX 视图的正确方法是什么?
【发布时间】:2015-01-17 02:39:11
【问题描述】:

基本上,我的问题是:我试图在 ASPX 页面上显示 ViewData 变量,但我得到“ViewData 在当前上下文中不存在。”

是什么让我来到这里?我是 MVC 新手,正在学习在线教程。在第 1 课中,他让我们通过转到 Add > View 创建一个视图,这将创建一个 Razor 视图。然后,在下一个教程中,他将教我们使用 ViewData 将变量传递给视图。但是,当他显示它时,他使用的是 方法,这在我的 Razor 页面上不起作用。因此,我尝试通过以传统方式创建 Web 表单,在我的 View 文件夹中创建一个 ASPX 页面。当我这样做时,我得到了上面提到的错误。我已经成功地弄清楚了如何让 Razor 方法在我的 cshtml 页面中工作,但是我应该以“尖括号 - 百分比”的方式来执行它的合适方法是什么?

编辑:基本上,我所做的只是按照以下演练中教程 2 的说明进行操作。他并没有真正解释他是如何创建 ASPX 页面的(或者他根本没有使用 ASPX 页面)。如果有人知道更完整的更好的教程,我会全神贯注。 http://www.codeproject.com/Articles/207797/Learn-MVC-Model-View-Controller-step-by-step-in#Lab1:- 创建一个简单的 hello world ASP.NET MVC 应用程序

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");
        }
    }

【问题讨论】:

  • 为什么要使用 ASPX 视图?
  • 不要使用 ViewData 使用 ViewModels,你也不需要 使用@asp.net/web-pages/overview/getting-started/…
  • 你能分享你的cshtml和aspx代码吗?
  • 本教程是两周前创建的?躲开它。它充满了错误。它似乎也是从各种来源复制粘贴在一起的。只需转到asp.net/mvc
  • 同意,这个教程很糟糕。我不知道为什么要混合使用 aspx 和 razor 语法。并且使用 ViewData 而不是 ViewModels 只是该教程中的许多不良做法之一。

标签: c# asp.net-mvc


【解决方案1】:
      <%= ViewData["vwTest"] %>
  ViewData["vwtest"] = "Something";

vwTest != vwtest

你应该写相同的名字

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

【讨论】:

  • 我已经有一段时间没有看了,但我 99.32% 确信 ViewData 是不区分大小写的字典。
猜你喜欢
  • 1970-01-01
  • 2017-03-19
  • 1970-01-01
  • 2012-06-01
  • 2015-05-22
  • 2014-08-28
  • 2013-11-24
  • 1970-01-01
相关资源
最近更新 更多