2013-08-21 6 views
0

Я хочу создать что-то вроде пользовательского элемента управления в моем проекте MVC 4. Я выполнил инструкции в this article, поэтому я добавил папку App_Code (она не была первоначально там) в проекте. Внутри я поставил файлMVC 4 Пользовательский контроль бритвы

VDRazorHelpers.cshtml

Внутри этого файла у меня есть мой код, который на самом деле статический HTML таблицы (я бы добавить динамические значения позже):

@helper PropertySummary(){ 
    <tr> 
     <td width="210" align="center" colspan="2"> 
      <img src="http://www.mysite.com/images/BG1.JPG" width="210" height="140" /> 
     </td> 
    </tr> 

} 

Тогда на мой взгляд, я пытаюсь получить доступ к этому хелперов запись:

@VDRazorHelpers.PropertySummary 

, но это похоже, не доступно.

Я знаю статью, упомянутую мной для MVC3. Изменилось ли это? Каким будет правильный способ создания пользовательских многократно используемых частей HTML в MVC4?

Вот скриншот IntelliSense:

enter image description here

+0

Надеюсь, вы включили пространство имен, используя оператор using в представлении. –

+0

@Nitin Мне нужно каким-то образом определить пространство имен в вспомогательном файле? Я попытался добавить использование MyNamespace; в представлении, где я хочу использовать помощника, но это не помогло ... –

ответ

5

я был бы более склонен использовать частичный вид, который можно разместить в общих взглядах папки затем вызвать проходящее модель вы хотите сделать с что вид:

@Html.Partial("propertySummary", property) 

Просто мысли

+0

Можете ли вы привести пример? Я очень новичок в MVC. Должен ли я создать новое представление в папке «Мой», имея только tr-код и вызывающий его? –

+0

Поделился ссылкой на папку/Views/Shared. – asymptoticFault

+0

Спасибо, это сработало ... –

1

Частичные Представления ближе к аналогу Web F управления пользователями в MVC. Они инкапсулируют HTML-код, который может быть повторно использован в других представлениях или возвращен непосредственно из методов действий, что удобно для вызовов AJAX, которым необходимо получить некоторый HTML. Большая разница в MVC заключается в том, что частичные представления не имеют ViewState для пользовательского элемента управления в веб-формах, а также ничего не делают, и все прошло, и хорошее избавление, насколько мне известно. HTML-помощники также могут быть близки к User Controls, однако они полностью основаны на коде и генерируют HTML, тогда как Partial Views - это разметка.

Смежные вопросы