3

ASPXエンジン (Razor ではない)を使用して Default MVC 4 プロジェクトを開始しましたが、すべて正常に動作します。
使うことができます

<% Model.Name %>

<% Model.Rating %>

本の評価 (asp.net/mvc チュートリアル サイトにあるレストラン レビューの代わりに)。ただし、私のコードエラーは <% ViewBag.Message %>

…というわけで、BookReviewモデル内の「BookReviewer」クラスから継承すると、モデル情報は表示できるが、Viewbag? 何か不足していますか?以下のコード。

[コントローラー] 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>
4

1 に答える 1

6

コメントからわかるようにViewBag.Message、別のコントローラーで を設定しています。は、ビューを提供したコントローラーによって設定されたビューのデータ専用ViewBagです。

別のコントローラーから送信する必要がある場合は、アクション メソッドでパラメーターを使用する必要があります。その後ViewBag.Message、渡されたパラメーターに を設定できます。

于 2013-01-30T22:54:56.527 に答える