添加asp.net图像的div [英] Adding asp.net image to div
问题描述
有没有一种方法,我可以动态地在低于code(包含在专区内)添加到Image1的while循环我的意思是实际添加一个asp图像到div?通过code。在我看到它的code相对于ASP的形象,但我见过没有办法可以添加到我的动态内容的那一刻:
Is there a way I could dynamically add a Image1 to the while loop in the below code (contained within the div) By this I mean actually adding an asp image to the div? via the code. At the moment as I see it the code looks for an asp image but Ive seen no way you can "add" it to my dynamic content:
using (OdbcCommand cmd = new OdbcCommand("SELECT Wallpostings FROM WallPosting WHERE UserID=" + userId + " ORDER BY idWallPosting DESC", cn))
{
using (OdbcDataReader reader = cmd.ExecuteReader())
{
var divHtml = new System.Text.StringBuilder();
while (reader.Read())
{
divHtml.Append("<div id=test>");
divHtml.Append(String.Format("{0}", reader.GetString(0)));
divHtml.Append("</div>");
}
test1.InnerHtml = divHtml.ToString();
}
}
我以为我这个了吧:
Thought I had it with this:
var divHtml = new System.Text.StringBuilder();
while (reader.Read())
{
divHtml.Append("<div id=test>");
divHtml.Append(String.Format("{0}", reader.GetString(0)));
Image img = new Image();
img.ImageUrl = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
divHtml.Append(img);
divHtml.Append("</div>");
}
test1.InnerHtml = divHtml.ToString();
我得到一个时髦的输出寿?
I get a funky output tho?
请参阅图:
香港专业教育学院还tryed这一点:
Ive also tryed this:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Odbc;
using System.Web.UI.WebControls.Image;
using System.Web.UI.HtmlControls.HtmlGenericControl;
using System.IO;
public partial class UserProfileWall : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string theUserId = Session["UserID"].ToString();
PopulateWallPosts(theUserId);
}
public static string RenderHtmlString(this System.Web.UI.HtmlControls.HtmlGenericControl htmlControl)
{
string result = string.Empty;
using (System.IO.StringWriter sw = new System.IO.StringWriter())
{
var writer = new System.Web.UI.HtmlTextWriter(sw);
htmlControl.RenderControl(writer);
result = sw.ToString();
writer.Close();
}
return result;
}
private void PopulateWallPosts(string userId)
{
using (OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=gymwebsite2; User=root; Password=commando;"))
{
cn.Open();
using (OdbcCommand cmd = new OdbcCommand("SELECT Wallpostings FROM WallPosting WHERE UserID=" + userId + " ORDER BY idWallPosting DESC", cn))
{
using (OdbcDataReader reader = cmd.ExecuteReader())
{
var divHtml = new System.Text.StringBuilder();
while (reader.Read())
{
using (StringWriter sw = new StringWriter())
divHtml.Append("<div id=test>");
divHtml.Append(String.Format("{0}", reader.GetString(0)));
Image img = new Image();
img.ImageUrl = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
divHtml.Append(img.RenderHtmlString());
//this line
divHtml.Append("</div>");
}
test1.InnerHtml = divHtml.ToString();
}
}
}
}
但RenderHtmlString没有定义?
But RenderHtmlString has no definition?
推荐答案
没有,你不能将服务器控件添加到DOM元素的文字重新presentation。
No, you cannot add a server control to a literal representation of a DOM element.
我不知道是什么类型的控制测试1是的,但你应该改变它到一个占位符的控制和执行下列操作(未测试!):
I am not sure what type of control "test1" is, but you should change it out to a PlaceHolder control and do the following (not tested!):
using (OdbcCommand cmd = new OdbcCommand("SELECT Wallpostings FROM WallPosting WHERE UserID=" + userId + " ORDER BY idWallPosting DESC", cn))
{
using (OdbcDataReader reader = cmd.ExecuteReader())
{
var divHtml = new System.Text.StringBuilder();
while (reader.Read())
{
System.Web.UI.HtmlControls.HtmlGenericControl div = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
div.ID = "test";
div.InnerHtml = String.Format("{0}", reader.GetString(0));
Image img = new Image();
img.ImageUrl = "~/images/test.jpg";
img.AlternateText = "Test image";
div.Controls.Add(img);
test1.Controls.Add(div);
}
test1.InnerHtml = divHtml.ToString();
}
}
希望这有助于!
这篇关于添加asp.net图像的div的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!