Как обрабатывать HTML-шаблоны в MVC2? - PullRequest
1 голос
/ 13 ноября 2010

Приложение My (MVC2) отображает несколько адресов в представлении.
Каждый адрес содержит только подмножество информации, например, имя и фамилия. Запрос состоит в том, что полная информация об адресе должна отображаться, когда наведен указатель мыши на результат.

Для этого следует использовать HTML-шаблон.

Этот шаблон определяет, как (!) Должен отображаться полный адрес, но не определяет, что (!) Должно отображаться.
Означает, что можно предположить, что полный адрес - это всегда «имя», «фамилия», «улица», «почтовый индекс» и «город» (например, и для простоты). Это никогда не изменится.
Но, например, цвет фона может быть изменен в HTML-шаблоне с белого на зеленый или размер фамилии может быть изменен с <h1> на <h2>

Как лучше всего это решить?
Я бы предпочел написать какой-нибудь общий код (ключевое слово: ascx).
Этот общий код должен обернуть шаблон, будет очень простым и будет выглядеть так:

<div id=”mouseOver” style="display: none;" >
X_REPLACE_X
</div>

Шаблон будет выглядеть следующим образом:

FirstName: {Name}<br/>
Lastname: <h1>{Lastname}/<h1><br/>
ZipCode: {ZipCode}<br/>

Затем я бы отображал код ascx через «Html.RenderPartial» в представлении и сопоставлял каждый адрес с функцией наведения курсора JavaScript.
Функция javascript заменит заполнитель (например, {FistName}, {LastName} и т. Д.) В шаблоне, разместит и отобразит его.

И это моя проблема:
Шаблон НЕ должен быть помещен непосредственно в обертку (ascx-код)!

Значения во время выполнения должны заменять «X_REPLACE_X» на где-то на сервере сохраненный шаблон.
Потому что это дает мне возможность менять шаблон без изменения и публикации кода!

Как это можно сделать?

Есть ли намного лучший способ решить это? Стоит ли использовать вместо этого вызовы ajax, чтобы получить шаблон в переменной?

Любая помощь будет очень полезной! Заранее спасибо!

1 Ответ

1 голос
/ 16 ноября 2010

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

Соответственно, я бы не стал обрабатыватьразличные размеры текста с использованием <h1></h1> и <h2></h2>, а скорее общий тег (например, <span></span>), размер текста которого обрабатывается с помощью css.

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