stringify'ing универсальный объект C # в HTML, синтаксический анализ в JS - PullRequest
0 голосов
/ 04 ноября 2011

В бритве, это то, что у меня есть:

<span data="@(new { prop1 = "prop1val", prop2 = 5 })" id="span1"></span>

И в JS я хочу проанализировать эти данные в объект JSON.

var dataObj = JSON.parse($("#span1").attr("data"));
alert(dataObj.prop1); // should alert "prop1val"

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

<span data="{ prop1 = prop1val, prop2 = 5 }" id="span1"></span>

Мне нужно сделать что-то вроде @ (new {...}). ToJsonString ()? Есть ли в бритве что-то, что я могу просто использовать?

Спасибо!

1 Ответ

1 голос
/ 04 ноября 2011

Вам необходимо сериализовать строку в формат JSON.

Вы можете написать @(new JavaScriptSerializer().Serialize(new { ... }))

Если вы хотите, вы можете создать метод расширения, чтобы сделать это как помощник HTML:

public static string ToJson(this HtmlHelper html, object obj) {
    return new JavaScriptSerializer().Serialize(obj);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...