MVC CodeBehind 강력하게 입력 한 ViewData 헤더가 작동하지 않습니다
-
03-07-2019 - |
문제
헤더에 추가합니다 <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
URL 및 HTML과 같은 모든 MVC 객체뿐만 아니라 ViewData 및 모든 내부에 액세스 할 수 있습니다. 내가 추가하자마자 "System.Web.Mvc.ViewPage<app.Models.tTable>
"나는 MVC 클래스와 도우미 방법에 액세스 할 수 없습니다. 이것이 이유에 대해 혼란스러워합니다. 최근 MVC 미리보기 5에서 RC1로 업그레이드했지만 RC1로의 전환은 오류 나 버그없이 완벽했습니다.
해결책
낚시 (많은 낚시) 후에 답을 찾았습니다. 답을 찾았습니다. 이것은 공식 릴리스 노트를 읽지 않았기 때문입니다. <pages>
"/views"디렉토리의 web.config 파일의 노드
<!--
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 파일에서 주석을 추가했습니다.
다른 팁
트릭이 있습니다. /보기 폴더 아래에 web.config가 있습니다. 와우, 나는 그것을 보지 못했습니다.
게시 해주셔서 감사합니다
제휴하지 않습니다 StackOverflow