NerdDinner MVC和Html.Encode

时间:2012-04-05 11:02:19

标签: asp.net-mvc model-view-controller nerddinner

DinnerController我收到了一个数据。enter image description here

 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帮助?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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>" %>

感谢您的回复。我发布此ans以供将来参考。