2012-04-05 2 views
0

В DinnerController У меня есть данные. enter image description hereNerdDinner MVC и Html.Encode

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?

ответ

0

забывает флажок Create a strongly-typed view при создании просмотра шоу я получил этот error.i решить эту проблему путем добавления <HelloMvc.Models.Dinner> в details.aspx страницы. Значит, когда я получил код ошибки, как этот.

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

После решения кода проблема becames:

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

Спасибо за reply.I пост это ANS для будущего исх.

0

Вы делаете несколько вещей неправильно:
1) Это называется MVC означает Model View Controller (ваш ужин объект передается на ваш взгляд через контроллер)
То, что вы пытаетесь сделать это новый вид. Он будет создан в разделе «Вид» вашего проекта.

Я думаю, что этот код может показать вам, что вам нужно:

@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