我想将一个字符串对象传递给一个视图:
<%@ 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)
为此,请使用 ViewData。在您的控制器中,只需设置键/值对:
ViewData["Foo"] = "bar";
Run Code Online (Sandbox Code Playgroud)
然后在您的视图中,只需像您之前设置的那样访问它:
<h2><%=ViewData["Foo"]%></h2>
Run Code Online (Sandbox Code Playgroud)
您遇到的问题是该View()方法的 2 个参数是:视图名称和主名称。
| 归档时间: |
|
| 查看次数: |
6795 次 |
| 最近记录: |