mvc 3(可能更早)页面上的ViewData没有被替换它的值

本文关键字:ViewData 替换 mvc | 更新日期: 2023-09-27 18:17:06

在这个解决方案中,我确实有一个项目是这样做的。

这个项目是通过复制并重命名它来启动的。

这是在控制器中:

    public ActionResult Index(User user)
    {
        ViewData["debug"] = "hi ya!";
        return View();
    }

这是页面索引。(这不是cshtml):

<%@ Register Assembly="T30" TagPrefix="a" Namespace="Prj.T30.Html" %>
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/template/MVC.master" Title="Material Moves" %>
<asp:Content ID="Content1" ContentPlaceHolderID="body" Runat="Server">
<div>
    <input type="text" value="" id="Text1" />
    <br />
    ViewData["debug"]
</div>
</asp:Content>

浏览器中的页面是文字

"视讯系统"("调试")

为什么这不是我应该期待的?

"你好丫!"

感谢您的时间、思念和祝福。

mvc 3(可能更早)页面上的ViewData没有被替换它的值

感谢@stuartd的帮助。

对于@指令,在Inherits属性中加载ViewPage类:

<%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.Mvc.ViewPage" MasterPageFile="~/template/MVC.master" Title="really moving stuff man" %>

页面内容:

<% =ViewData["debug"] %>

   <%@ Register Assembly="T30" TagPrefix="a" Namespace="Prj.T30.Html" %>
   <%@ Page Language="C#" AutoEventWireup="true"                   
    MasterPageFile="~/template/MVC.master" Title="Material Moves" %>
   <asp:Content ID="Content1" ContentPlaceHolderID="body" Runat="Server">
   <div>
<input type="text" value="" id="Text1" />
<br />
@string vData= ViewData["debug"];
 @vData;
</div>
 </asp:Content>