ajax调用后渲染HtmlGenericControl

时间:2013-07-08 16:20:04

标签: c# asp.net jquery htmlgenericcontrol

我有HtmlGenericControl

HtmlGenericControl a = new HtmlGenericControl("a");

    a.Attributes.Add("href", "test.aspx");

    a.InnerText = "foo";

我想进行ajax调用以返回此对象并在页面上呈现它。我尝试将它序列化为c#中的json对象并将其传递给页面,但不知道如何在jquery中将其反序列化为html控件。

另外,如果我尝试的是不可能的,有没有办法将HtmlGenericControl转换为字符串?

1 个答案:

答案 0 :(得分:1)

我没有尝试将HtmlGenericControl转换为字符串,而是使用对方法的jQuery ajax调用从方法中检索href属性值(在示例中为“text.aspx”)(将“href”作为JSON返回值)然后使用jQuery使用JavaScript document.write(),jQuery.html()或jQuery.append()方法之一来呈现标记,将来自href属性的ajax调用的JSON值合并到插入的字符串中

$.getJSON('/home/getHref', function(data) {
   var $newAnchor = $('<a href="' + data.href + '"/>')
   $("my_div").append($newAnchor); 
}

这是针对WebForms网站还是MVC网站?如果您正在使用MVC,那么我的解决方案是正确的方法。