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并且无法理解问题。我可能遗漏了什么。请帮忙?

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>

MVC 一开始可能很难,特别是如果您开发了 Asp.Net 思维;首先要有耐心并了解基本概念,您会喜欢它。
这是一个链接,可以帮助您了解整个过程。
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 回答