mvc 3(可能更早)页面上的ViewData未被替换为其值

时间:2016-11-08 23:37:11

标签: c# asp.net-mvc

我确实在这个解决方案中有一个项目。

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

这是在控制器中:

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

这是页面(index.aspx~this isn' tshtml):

<%@ 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>

浏览器中的页面是文字

  

&#34;计算机[&#34;调试&#34;]&#34;

为什么我不能期待它?

  

&#34;嗨呀!&#34;

感谢您的时间,想法和祝福。

2 个答案:

答案 0 :(得分:1)

感谢@stuartd提供急需的推动。

对于@ directives~在Inherits属性中加载ViewPage类:

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

对于页面内容:

<% =ViewData["debug"] %>

完成。

答案 1 :(得分:1)

   <%@ 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>