在asp.net中添加html元素

sam*_*amy 6 c# asp.net

我需要一些帮助来弄清楚如何做某事.

我有这个画廊(galleriffic)和一些存储在Flicker.com中的图像所以我使用闪烁api来获取图像,但仍然手动添加它们来测试图库.

现在我正在寻找一种很好的方法,在我用闪烁api获取图像后将图像插入到html中.

我找到了这个htmltextwriter并使用了该函数

Response.Write(GetDivElements());

但这是在html顶部添加div而不是body标签内部.

我的问题是:

  1. HtmlTextWriter writer = new HtmlTextWriter(stringWriter)在服务器端构建html标签的好方法吗?

  2. 是否有更好的方法将其他元素添加到html中Response.Write("");

Dav*_*ker 9

这是我需要添加标记时的操作.

在我的页面中

<asp:PlaceHolder ID="MyPlaceholder" runat="server"></asp:PlaceHolder>
Run Code Online (Sandbox Code Playgroud)

在我的代码背后

MyPlaceholder.Controls.Add(new Literal() { Text="<div>some markup</div>"});
Run Code Online (Sandbox Code Playgroud)

我是这样做的,因为:

1)您可以将PlaceHolder放在页面结构中所需的位置

2)通过在运行时向控件集合添加一个Literal,可以防止ViewState的内容变得臃肿.


Jus*_*ony 5

如果你使用的是旧版的asp.net,而不是asp.net MVC,那么你可以创建一个带有id和runat ="server"的div.然后你可以直接写入html.

aspx页面

<div id = "DivINeedToAddStuffTo" runat="server" />
Run Code Online (Sandbox Code Playgroud)

aspx.cs

DivINeedToAddStuffTo.InnerHtml = GetDivElements();   
Run Code Online (Sandbox Code Playgroud)

另外,我认为使用HtmlTextWriter创建Html标记没有任何问题