Визуализация HtmlGenericControl после вызова ajax
У меня есть HtmlGenericControl
HtmlGenericControl a = new HtmlGenericControl("a");
a.Attributes.Add("href", "test.aspx");
a.InnerText = "foo";
Я хочу сделать ajax-вызов, чтобы вернуть этот объект и отобразить его на странице. Я попытался сериализовать его в объект json в C# и передать его на страницу, но не знаю, как десериализовать его в элемент управления html в jquery.
Кроме того, если то, что я пытаюсь сделать, невозможно, есть ли способ преобразовать HtmlGenericControl
в строку?
1 ответ
Вместо того, чтобы пытаться преобразовать HtmlGenericControl в строку, я бы вместо этого извлек значение атрибута href (в вашем примере "text.aspx") из метода, используя вызов jQuery ajax к методу (вернув "href" в качестве значения JSON), и затем используйте jQuery для визуализации тега с помощью одного из методов JavaScript document.write(), jQuery.html() или jQuery.append(), включив значение JSON из вызова ajax для атрибута href во вставленную строку.
$.getJSON('/home/getHref', function(data) {
var $newAnchor = $('<a href="' + data.href + '"/>')
$("my_div").append($newAnchor);
}
Это для сайта WebForms или сайта MVC? Если вы используете MVC, то мое решение - правильный способ сделать это.