2014-01-21 4 views
2

Я пытаюсь создать класс класса помощника, который может принимать произвольный список параметров, но пытается получить простой синтаксис на стороне представления. Это использует движок Razor в MVC.NET. Я понимаю, что могу сделать это, используя ViewDataDictionary, но я предпочитаю синтаксис анонимного типа.MVC Метод помощника для обработки Анонимные типы

@Helper.CreateDiv(new {@class="myclass", @id="myId"}) 
public static string DivHelper(object values) { 
    string html = "<div"; 
    //How do I iterate through the key/value pairs here? 

    //foreach(var key in values.Keys){ 
    // html += String.format(" %s=\"%s\"",key,values[key]; 
    //} 
} 

ответ

3

Использование System.Web.WebPages.Html.HtmlHelper.AnonymousObjectToHtmlAttributes(obj) преобразовать анонимный тип в RouteValueDictionary.

+1

В качестве альтернативы вы можете сделать то же самое с 'System.Web.Mvc.HtmlHelper.AnonymousObjectToHtmlAttributes', который просто вызывает тот из Web-страниц. – vcsjones

+0

Точно, что мне нужно - спасибо –

Смежные вопросы