0

DinnerControllerデータを取得しました。ここに画像の説明を入力してください

 public ActionResult Details(int id)
 {

            Dinner dinner = dinnerRepository.GetDinner(id);

            if (dinner == null)
                return View("NotFound");
            else
                return View("Details", dinner);
  } 

そしてdetails.aspx私はそれをこのように縛りました。

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <h2>
        Details</h2>
    <fieldset>
        <legend>Fields</legend>
        <p>
            DinnerID:
            <%= Html.Encode(Model.DinnerID) %>
        </p>
        </fieldset>
</asp:Content>

しかし、私はエラーが発生しました。

Compiler Error Message: CS1061: 'object' does not contain a definition for 'DinnerID' and no extension method 'DinnerID' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)

私はちょうど学び始めてmvc、問題を理解することができません。何かが足りないかもしれません。Plzは助けますか?

4

2 に答える 2

0

あなたはいくつかの間違ったことをしています:
1)それはモデルビューコントローラーを意味するMVCと呼ばれます(あなたのディナーエンティティはあなたのコントローラーを通してあなたのビューに渡されます)
あなたが作ろうとしているのは新しいビューです。プロジェクトの[表示]セクションに作成されます。

私はこのコードがあなたが必要とするものをあなたに示すかもしれないと思います:

@model HelloMvc.Models.Dinner  //passing the value of dinner is done here . from now on you will refer to the dinner object with Model
<table>
       <tr>
         <td>
           Description
         </td>
         <td>
            @Html.Display(Model.Description) //google other @Html diplay modes ( Label Textbox, etc)
         </td>
       </tr>
</table>

特にAsp.Netの考え方を開発した場合、MVCは最初は難しい場合があります。辛抱強く、最初は基本的な概念を理解してください。そうすれば、きっと気に入るはずです。
プロセス全体を理解するのに役立つリンクは次のとおりです。
http://geekswithblogs.net/dotNETvinz/archive/2011/06/03/asp.net-mvc-3-creating-a-simple-sign-up-form.aspx

于 2012-04-05T13:27:34.027 に答える
0

ビューを作成するときにチェックボックスをオンにするのを忘れて、Create a strongly-typed viewこのエラーが発生しました。ページを追加することでこれを解決<HelloMvc.Models.Dinner>details.aspxます。このようなエラーコードが表示されたときのことです。

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

問題を解決した後、コードは次のようになりました。

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

返信ありがとうございます。今後の参考のためにこの回答を投稿します。

于 2012-04-08T05:36:25.360 に答える