ASP.NET MVC将字符串对象传递给View的问题

Ton*_*ony 5 asp.net-mvc

我想将一个字符串对象传递给一个视图:

 <%@ Page Title="" Language="C#" 
     MasterPageFile="~/Views/Shared/Site.Master"
     Inherits="System.Web.Mvc.ViewPage<String>" %>

   <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

          <h2><%=Model %></h2>

   </asp:Content>
Run Code Online (Sandbox Code Playgroud)

当我尝试这个:

 return View("SomeView", "stringToPass");
Run Code Online (Sandbox Code Playgroud)

发生错误:找不到视图'SomeView'或其主页.

但是,当我改变回归

return View("SomeView");
Run Code Online (Sandbox Code Playgroud)

一切正常.那么如何传递那个字符串?

egl*_*ius 11

它与View()的另一个重载混淆,做:

return View("SomeView", (object)"stringToPass");
Run Code Online (Sandbox Code Playgroud)


p.c*_*ell 4

为此,请使用 ViewData。在您的控制器中,只需设置键/值对:

ViewData["Foo"] = "bar";
Run Code Online (Sandbox Code Playgroud)

然后在您的视图中,只需像您之前设置的那样访问它:

<h2><%=ViewData["Foo"]%></h2>
Run Code Online (Sandbox Code Playgroud)

您遇到的问题是该View()方法的 2 个参数是:视图名称和主名称。