Настраиваемый веб-интерфейс ASP.MVC

#xml #user-interface #asp.net-mvc-3 #configuration

#xml #пользовательский интерфейс #asp.net-mvc-3 #конфигурация

Вопрос:

Я заинтересован в создании настраиваемого ASP.NET Пользовательское приложение MVC 3, под которым я подразумеваю настройку всех свойств элемента пользовательского интерфейса и атрибутов во всей конфигурации XML (которые можно редактировать с помощью какого-либо другого пользовательского интерфейса). Я искал в Google некоторую платформу, шаблон или общий подход, который приводит к этой цели, и я не нашел многого.

  • Мой вопрос заключается в том, как читать XML и отображать HTML-элементы, выполняется ли это через JavaScript (jQuery)?
  • Какая стратегия именования и вложенности html является наилучшей? ( Я знаю, что это не настоящий вопрос, но в обстоятельствах, когда для упрощения преобразования элементов необходим некоторый шаблон)
  • Есть ли какой-либо код, который я могу повторно использовать для этой цели?

Спасибо.

Ответ №1:

Трудно точно сказать, что вы ищете.

Если XML — это данные, которые вы хотите отобразить, некоторые параметры:

  • Используйте XSLT для преобразования XML в Html
    • В зависимости от ваших целевых пользователей, вы даже можете позволить браузеру делать это, назначив XSLT в XML, который вы передаете браузеру. Возврат XML непосредственно в браузер вместо HTML или ViewResult.
    • Другой способ — применить преобразование в методе action и вернуть его в виде строки (вместо возврата ViewResult).
    • Другой альтернативой является реализация XmlActionResult. Вы обнаружите, что реализация результатов действий проста в asp.net MVC. На вашем контроллере вы возвращаете XmlActionResult с данными, которые хотите отобразить. В XmlActionResult применяется преобразование XSLT.
    • Используйте пользовательский код для преобразования XML в Html. Как и в случае преобразования XSLT, вы можете сделать это либо непосредственно в методе action (путем вызова общего метода, который вы определяете в другом месте), либо путем определения результата вашего собственного действия.

Если XML — это не данные, а только то, как вы хотите отобразить все, что находится в модели:

  • Вы в значительной степени определяете ViewEngine. Вы хотите определить свое представление в xml вместо aspx, razor или любого другого языка. Если вы создадите свой собственный, он будет ограничен, если вы используете сторонний (если вы его найдете), вам придется иметь дело с языком, на котором он определен.
  • Вы можете комбинировать динамические данные с asp.net MVC. Я не уверен, что элемент управления может быть использован в asp.net Вид MVC, но стоит попробовать поискать о нем.
  • Вы можете использовать методы DisplayFor в представлении и определять шаблоны для всех простых типов. Объедините это с некоторыми определяемыми вами помощниками, и вы сможете применить любую конфигурацию, которая у вас есть, к полям (даже если это ничего не показывает для него).

Ответ №2:

Вы можете обратиться к блогу, основанному на реализации механизма просмотра XSLT

MVCDynamicForms — хороший вариант, который вы можете рассмотреть

XSLTViewEngine также можно рассмотреть, если вас интересует XML для преобразования в HTML вместе с XSLT.