【问题标题】:How to return a dynamic html in asp.net如何在asp.net中返回动态html
【发布时间】:2013-11-20 05:35:58
【问题描述】:
我正在尝试使用 asp.net 和 jQuery 创建搜索结果页面。它
必须以 AJAX 方式工作。我想要的是我发送页面
通过 AJAX 调用向服务器发送号码,服务器可以返回一个 html
块,以便我可以将此 html 块附加到页面中的区域
AJAX 调用后的回调。
但我不知道如何在服务器端组装 html 块。是
有什么好的方法或某种引擎来实现这一点?或者我应该
像这样硬编码:
<table><tr><td>My result</td></tr> </table>
并将此文本返回给客户端?
【问题讨论】:
标签:
jquery
html
asp.net
ajax
【解决方案1】:
有多种方法可以做到这一点 - 你已经接触过一种:
- 直接返回标记并添加。
-
返回JSON,使用标准JavaScript方法将其解析为JS对象,然后:
2.1 在 JavaScript 中生成标记并添加。
2.2 查找对象中的值并将它们放入 HTML 中。
2.2 使用客户端模板库并绑定对象。
【解决方案2】:
这是在服务器端创建 html 块的一种方法。
var stringWriter = new StringWriter();
using (var writer = new HtmlTextWriter(stringWriter))
{
writer.RenderBeginTag(HtmlTextWriterTag.Table);
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write("My result");
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
}
var result = stringWriter.ToString();