Как наследовать от библиотеки в представлении MVC.NET - PullRequest
1 голос
/ 02 января 2011

Я пытаюсь внедрить CKFinder на своем веб-сайте MVC.Net, но настройка по умолчанию работает только для обычных веб-сайтов asp.net, поэтому я пытаюсь заставить его работать.

Одна страница наследуется от библиотеки CKFinder.Connector.Connector. В старые времена мой aspx был бы просто inherit="CKFinder.Connector.Connector", но как это сделать в MVC.NET?

?

Это Inherits="System.Web.Mvc.ViewPage<CKFinder.Connector.Connector>" то же самое?

Ответы [ 2 ]

1 голос
/ 02 января 2011

Если это пространство имен используется часто, вам, вероятно, следует подумать о добавлении его в узел пространств имен в файле Views/Web.config.

Это гарантирует, что все страницы будут иметь доступ к этому пространству имен, и intellisense будет доступентакже.Это также обсуждалось в другом вопросе .

Структура XML будет выглядеть следующим образом.

<configuration>
  <system.web>
    <pages>
      <namespaces>
        <add namespace="CKFinder.Connector.Connector" /> <!-- <<< Your entry here  -->
      </namespaces>
    </pages>  
  </system.web>
</configuration>

Узел namespaces может не существовать, поэтому вам следуетдобавьте его в узел pages (который должен существовать).

0 голосов
/ 02 января 2011

Inherits="System.Web.Mvc.ViewPage<CKFinder.Connector.Connector>" установит CKFinder.Connector.Connector в качестве строго типизированного объекта Model для вашей страницы просмотра. Это будет работать для вас, если вы пытаетесь получить доступ к свойствам экземпляра Connector в вашей разметке, используя синтаксис <%= Model.SomePropertyOnConnectorObject %>.

Если вместо этого вам нужно сослаться на CKFinder.Connector.Connector как пространство имен, вам нужно будет добавить следующую строку ниже директив страницы и перед любой разметкой:

<%@ Import Namespace="CKFinder.Connector.Connector" %>
...