将asp.net图像添加到div [英] Adding asp.net image to div
问题描述
有一种方法,我可以动态添加一个Image1到下面的代码(包含在div)的while循环。这是我的意思是实际上添加一个asp图像到div?通过代码。目前我看到的代码寻找一个asp图像,但我没有看到你可以添加到我的动态内容:
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();
}
}
以为我有这个:
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();
我得到一个很时髦的输出tho?
查看图片:
/ p>
我也尝试过:
using System.Collections.Generic;
using System.Linq;
使用System.Web;
使用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没有定义?
不,不能将服务器控件添加到DOM元素的文字表示。
我不知道什么类型的控件test1是,但是你应该将其更改为PlaceHolder控件,并执行以下操作(未测试!):
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();
}
}
希望这有助于!
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?
See picture:
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();
}
}
}
}
But RenderHtmlString has no definition?
No, you cannot add a server control to a literal representation of a DOM element.
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();
}
}
Hope this helps!
这篇关于将asp.net图像添加到div的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!