В моем приложении MVC у меня есть вспомогательный класс, предназначенный для отображения группы связанных кнопок. Я пытаюсь передать атрибуты HTML кнопок как анонимный объект:
new { @class="myClass1 myClass2" }
Помощник генерирует HTML как MvcHtmlString
, который я сейчас создаю следующим образом:
foreach (var b in _buttons)
{
sb.AppendFormat("<button type='submit' name='{0}' {1}>{2}</button>",
b.Value,
b.HtmlAttributes,
b.Text);
}
Моя проблема в том, что приведенный выше код создает недопустимый HTML:
<button type='submit' name='Foo' { class = myClass1 myClass2 }>Bar</button>
К сожалению, поскольку он передается помощнику как object
, у меня нет информации о типах для работы. Я мог бы ToString
объект и разобрать результат, но это выглядит довольно глупо. Как программно преобразовать анонимный объект в атрибуты HTML в стиле key="value"
? Существует ли для этого существующая утилита?