5

Я добавляю это в свой заголовок <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> и могу получить доступ к ViewData и всем его внутренностям, а также ко всем объектам mvc, таким как url ​​и html. Как только я добавлю «System.Web.Mvc.ViewPage<app.Models.tTable>», у меня нет доступа к каким-либо классам mvc и вспомогательным методам. Я смущен, почему это так. Недавно я обновил версию mvc preview 5 до rc1, но мой переход к rc1 был безупречен без ошибок и ошибок.mvc no codebehind сильно типизированные заголовки viewdata не работают

ответ

6

После рыбалки (много рыбалки) вокруг я нашел ответ, это потому, что я не читал официальные заметки о выпуске, скорее просматривал учебник из блога, но кто бы ни работал, вам нужно заменить узел <pages> в файле web.config в каталоге «/ Views» с

<!-- 
     Enabling request validation in view pages would cause validation to occur 
     after the input has already been processed by the controller. By default 
     MVC performs request validation before a controller processes the input. 
     To change this behavior apply the ValidateInputAttribute to a 
     controller or action. 
    --> 
    <pages 
     validateRequest="false" 
     pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <controls> 
     <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> 
     </controls> 
    </pages> 

Я добавил комментирование из предварительно построен файла web.config

+0

Это так же, как это применимо к MVC 2 в 1. Хотя версия и PublicKeyToken изменения в версии 2.0 конкретные .... \t \t <страницы \t \t \t ValidateRequest = "ложь" \t \t \t pageParserFilterType = "System.Web.Mvc.ViewTypeParserFilter" \t \t \t pageBaseType = "System.Web.Mvc.ViewPage" \t \t \t userControlBaseType = "System.Web.Mvc.ViewUserControl"> \t \t \t \t \t \t \t <добавить сборку = "System.Web.Mvc, Version = 2.0.0.0, культура = нейтральной, PublicKeyToken = 31bf3856ad364e35" Пространство имен = "System.Web.Mvc" tagPrefix = "MVC" /> \t \t \t \t \t – EBarr

3

Там трюк. В папке/Views находится файл web.config. Ничего себе, я этого не видел.

Спасибо за размещение