Как: создать Ajaxified HTMLHelper в ASP.Net MVC - PullRequest
2 голосов
/ 12 мая 2009

чем больше я копаюсь в MVC, тем больше я люблю его и думаю, как я работал с веб-формами :)

но кое-что действительно сбивает с толку, как в веб-формах, если я хочу инкапсулировать элементы управления, скажем, поле со списком, тогда я создам пользовательский элемент управления, добавлю в него это поле со списком и объявлю свойства, затем я могу отбросить это на любой странице, и если я изменяю пользовательский элемент управления, изменение применяется ко всем экземплярам на сайте, довольно просто в веб-формах.

Теперь в MVC я узнал, что вы можете создавать дополнительных помощников с помощью методов расширения, и это действительно круто, но моя цель в том, чтобы я хотел, чтобы он был Ajaxified.

вот что я хочу:

  • я хочу, чтобы он эмулировал веб-формы, такие как свойство текста, выбранное значение и т. Д. *
  • Я буду использовать jquery для классных эффектов, таких как выделение элемента при наведении мыши, поэтому я хочу, чтобы этот сценарий был включен в этот HTML-помощник, чтобы мне не приходилось писать его на представлении или главной странице для каждого поля со списком. добавьте, другими словами, как например, Telerik Controls или любой серверный элемент управления Web Forms.

другой вопрос: HTML-помощники отображаются на сервере? или они являются чистым HTML и не обрабатывают сервер, как серверные элементы управления?

Примечание : я знаю, что у MVC уже есть список HTML Helper, но я привел это в качестве примера.

спасибо заранее.

Ответы [ 2 ]

1 голос
/ 22 мая 2009

Вы смотрели на класс AjaxHelper и его расширения? Это похоже на то, что вы ищете. Вы можете посмотреть на источник для AjaxExtensions.cs файла и затем создать свои собственные расширения AjaxHelper, следуя тому же шаблону.

Да, функции HtmlHelper (и AjaxHelper) выводят строки Html через код C #, выполняемый на сервере.

1 голос
/ 13 мая 2009

Методы расширения HtmlHelper выполняются в представлении на сервере. Получаемый ими HTML-код включается в страницу, отправляемую в браузер.

Вы не можете создать традиционный серверный элемент управления ASP.NET WebForms, используя метод расширения HtmlHelper, как вы описываете, «эмулировать веб-формы, такие как свойство текста, выбранное значение и т. Д.», Если вы смогли реализовать такое вещь, использующая ASP.NET MVC, тогда вы, вероятно, должны просто использовать ASP.NET WebForms для своего проекта.

Я действительно рекомендую взять копию " Pro ASP.NET MVC 1.0 ". Эта книга была написана Робом Конери, Скоттом Хансельманом, Филом Хааком и Скоттом Гатри и полна тонны объяснений «что делать и почему» при создании приложений / сайтов с использованием ASP.NET MVC; наряду с прямыми сравнениями с различиями между ASP.NET WebForms и ASP.NET MVC. Кроме того, первая глава книги - это полное руководство по созданию полнофункционального приложения с использованием ASP.NET MVC вместо традиционного примера «Hello World», который демонстрирует каждая другая книга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...