簡體   English   中英

ViewBag RuntimeBinderException(MVC 4,ASPX)

[英]ViewBag RuntimeBinderException (MVC 4, ASPX)

我使用ASPX引擎(不是Razor)啟動了一個Default MVC 4項目,一切正常。
我可以用

<% Model.Name %>

<% Model.Rating %>

用於收視率(而不是asp.net/mvc教程網站上的餐廳評論)。 但是,我的代碼錯誤在<% ViewBag.Message %>

...所以出於某種原因,當繼承BookReview模型中的“BookReviewer”類時,我可以查看模型信息而不是Viewbag 我錯過了什么嗎? 代碼如下。

[Controller] HomeController.cs:

    public class HomeController : Controller
    {
        var model = new BookReview()
        {
            Name = "Pro jQuery For Noobs",
            Rating = 7
        };
        return View(model);
    }

[型號] BookReview.cs

    namespace Bookreview.Models
    {
            public class BookReview
            {
                    public string Name { get; set; }
                    public int Rating { get; set; }
            }
    }

[查看] Index.aspx:

    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<BookRevew.Models.BookReviewer>" %>
    <asp:Content ID="indexFeatured" ContentPlaceHolderID="FeaturedContent" runat="server">
        <h2>
            <% ViewBag.Message %>
            <% Model.Name %>
            <% Model.Rating %>
        </h2>
    </asp:content>

正如我們在您的評論中看到的那樣,您正在另一個控制器中設置ViewBag.Message ViewBag 僅用於由提供視圖的控制器設置的視圖的數據

如果需要從另一個控制器發送它,則應在操作方法中使用參數,然后可以將ViewBag.Message設置為傳入的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM