Приложение 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, чтобы получить шаблон в переменной?
Любая помощь будет очень полезной!
Заранее спасибо!