Визуализация 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, то мое решение - правильный способ сделать это.

Другие вопросы по тегам