Кодирование Html-помощника, записанного на экран через Javascript - PullRequest
1 голос
/ 09 марта 2011

Я хочу добавить элемент, созданный с помощью Html-помощника, на экран через Javascript, например так:

var element = '<%: Html.TextBoxFor(d => d.Item) %>';
$('body').append(element)

Как правильно кодировать этот элемент, чтобы он был безопасным, но также записывал html вэкран?

1 Ответ

3 голосов
/ 09 марта 2011

Очень уродливо, но это может сработать:

var element = '<%= Html.TextBoxFor(d => d.Item).ToHtmlString() %>';
$('body').append(element);

, и если вы хотите обеспечить правильное кодирование:

var element = '<%= HttpUtility.JavaScriptStringEncode(Html.TextBoxFor(d => d.Item).ToHtmlString()) %>';
$('body').append(element);

Лучшее решение:

$('body').append(
    $('<input/>', {
        name: 'Item',
        value: '<%= Model.Item %>'
    })
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...