C# 下面的代码给了我一个问题,图像在文本后面
下面的代码给了我一个问题,图像出现在我尝试改变的文本之后,但如果我将div.innerhtml放在靠近末尾的位置,则在加载页面时没有图像。正如你在我上传的图片中所看到的,Img被设置在文本的末尾,我也在想,有没有办法把尺寸缩小C# 下面的代码给了我一个问题,图像在文本后面,c#,asp.net,html,css,C#,Asp.net,Html,Css,下面的代码给了我一个问题,图像出现在我尝试改变的文本之后,但如果我将div.innerhtml放在靠近末尾的位置,则在加载页面时没有图像。正如你在我上传的图片中所看到的,Img被设置在文本的末尾,我也在想,有没有办法把尺寸缩小 public partial class UserProfileWall : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {
public partial class UserProfileWall : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string theUserId = Session["UserID"].ToString();
PopulateWallPosts(theUserId);
}
private void PopulateWallPosts(string userId)
{
using (OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=gymwebsite2; User=****; Password=****;"))
{
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())
{
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 = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
img.AlternateText = "Test image";
div.Controls.Add(img);
test1.Controls.Add(div);
}
}
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string theUserId = Session["UserID"].ToString();
using (OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=<REMOVED>; Database=<REMOVED>; User=<REMOVED>; Password=<REMOVED>;"))
{
cn.Open();
using (OdbcCommand cmd = new OdbcCommand("INSERT INTO WallPosting (UserID, Wallpostings) VALUES (" + theUserId + ", '" + TextBox1.Text + "')", cn))
{
cmd.ExecuteNonQuery();
}
}
PopulateWallPosts(theUserId);
}
}
试图这样做却没有成功
firebug的代码片段:
<div id="ctl00_ContentPlaceHolder1_ContentPlaceHolder2_test">weeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee<img style="border-width: 0px;" alt="Test image" src="userdata/2/uploadedimage/batman-for-facebook.jpg"></div>
图像和文本是内联元素,这意味着它们从左向右流动 如果要强制图像到新行,请使用以下命令:
div.InnerHtml = String.Format("{0}<br />", reader.GetString(0));
至于图像大小,您需要上传大小合适的图像,或者在上传图像时可以使用C中的image对象来调整图像大小。图像和文本是内联元素,意味着它们从左向右流动 如果要强制图像到新行,请使用以下命令:
div.InnerHtml = String.Format("{0}<br />", reader.GetString(0));
至于图像大小,您需要上传大小合适的图像,或者在上传图像时可以使用C中的image对象来调整其大小。以编程方式插入div的具体原因是什么?有数据绑定控件来执行您正在执行的任务。例如,使用Repeater2.0+或ListView3.5+控件。 下面是一个比较复杂的方法,看看它是否有帮助:
System.Web.UI.HtmlControls.HtmlGenericControl div = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
div.Style["float"] = "left";
Image img = new Image();
img.ImageUrl = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
img.AlternateText = "Test image";
div.Controls.Add(img);
test1.Controls.Add(div);
System.Web.UI.HtmlControls.HtmlGenericControl div1 = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
div1.InnerText = String.Format("{0}", reader.GetString(0));
div1.Style["float"] = "left";
test1.Controls.Add(div1);
System.Web.UI.HtmlControls.HtmlGenericControl div2 = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
div2.Style["clear"] = "both";
test1.Controls.Add(div2);
当然,使用css可以减少上面的几行。以编程方式注入div有什么具体原因吗?有数据绑定控件来执行您正在执行的任务。例如,使用Repeater2.0+或ListView3.5+控件。 下面是一个比较复杂的方法,看看它是否有帮助:
System.Web.UI.HtmlControls.HtmlGenericControl div = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
div.Style["float"] = "left";
Image img = new Image();
img.ImageUrl = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
img.AlternateText = "Test image";
div.Controls.Add(img);
test1.Controls.Add(div);
System.Web.UI.HtmlControls.HtmlGenericControl div1 = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
div1.InnerText = String.Format("{0}", reader.GetString(0));
div1.Style["float"] = "left";
test1.Controls.Add(div1);
System.Web.UI.HtmlControls.HtmlGenericControl div2 = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
div2.Style["clear"] = "both";
test1.Controls.Add(div2);
当然,使用css可以减少上面的几行。为什么不添加一些css使图像向左浮动
#test img {
float: left;
padding: 5px 10px 5px 0;
}
为什么不添加一些CSS使图像向左浮动
#test img {
float: left;
padding: 5px 10px 5px 0;
}
看在上帝的份上,不要把你的密码放在你的帖子里。
不要纯粹通过字符串连接执行查询!使用一个。如果我能够将数据写入会话,例如使用UserId,我可以很容易地将SQL注入会话。请考虑使用ORM工具,如NHiBiNess或微软的实体框架。
如果希望图像位于左侧,旁边有文本,请使用更新的代码。基本上,在图像上,您希望将float属性设置为left。
如果要更改代码,可以将其更改为:
System.Web.UI.HtmlControls.HtmlGenericControl div = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
HtmlGenericControl literal = new HtmlGenericControl("div");
literal.InnerHtml = reader.GetString(0);
Image img = new Image();
img.ImageUrl = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
img.AlternateText = "Test image";
div.Controls.Add(img);
div.Controls.Add(literal);
test1.Controls.Add(div);
看在上帝的份上,不要把你的密码放在你的帖子里。
不要纯粹通过字符串连接执行查询!使用一个。如果我能够将数据写入会话,例如使用UserId,我可以很容易地将SQL注入会话。请考虑使用ORM工具,如NHiBiNess或微软的实体框架。
如果希望图像位于左侧,旁边有文本,请使用更新的代码。基本上,在图像上,您希望将float属性设置为left。
如果要更改代码,可以将其更改为:
System.Web.UI.HtmlControls.HtmlGenericControl div = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
HtmlGenericControl literal = new HtmlGenericControl("div");
literal.InnerHtml = reader.GetString(0);
Image img = new Image();
img.ImageUrl = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
img.AlternateText = "Test image";
div.Controls.Add(img);
div.Controls.Add(literal);
test1.Controls.Add(div);
尝试此操作,将ASP:placeholder控件添加到页面中,而不是添加一个div。然后在代码隐藏中构造三个div,一个用于图像,一个用于文本,另一个用于包含这两个div
//create container
System.Web.UI.HtmlControls.HtmlGenericControl container = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
//create div to hold the image
System.Web.UI.HtmlControls.HtmlGenericControl imgDiv = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
imgDiv.Attributes.Add("class","imgDiv");
//build the image and set properties.
Image img = new Image();
img.Width = new Unit(60);//pixels
img.Height = new Unit(60);
img.ImageUrl = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
img.AlternateText = "Test image";
//add image to image div
imgDiv.Controls.Add(img);
//create div to hold text
System.Web.UI.HtmlControls.HtmlGenericControl postText = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
postText.Attributes.Add("class", "postText");
postText.InnerHtml = String.Format("{0}", reader.GetString(0));
//now add the two divs to the page
test1.Controls.Add(imgDiv);
test1.Controls.Add(postText);
现在,这将以HTML呈现:
<div>
<div id="imgDiv">
//image
</div>
<div id="postText">
//text
</div>
</div>
如果窗口变小,文本可能会跳转到新行。您可以通过设置容器div的最小宽度来解决此问题。尝试一下,将ASP:placeholder控件添加到页面而不是div。然后在代码隐藏中构造三个div,一个用于图像,一个用于文本,另一个包含这两个div
//create container
System.Web.UI.HtmlControls.HtmlGenericControl container = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
//create div to hold the image
System.Web.UI.HtmlControls.HtmlGenericControl imgDiv = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
imgDiv.Attributes.Add("class","imgDiv");
//build the image and set properties.
Image img = new Image();
img.Width = new Unit(60);//pixels
img.Height = new Unit(60);
img.ImageUrl = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
img.AlternateText = "Test image";
//add image to image div
imgDiv.Controls.Add(img);
//create div to hold text
System.Web.UI.HtmlControls.HtmlGenericControl postText = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
postText.Attributes.Add("class", "postText");
postText.InnerHtml = String.Format("{0}", reader.GetString(0));
//now add the two divs to the page
test1.Controls.Add(imgDiv);
test1.Controls.Add(postText);
现在,这将以HTML呈现:
<div>
<div id="imgDiv">
//image
</div>
<div id="postText">
//text
</div>
</div>
如果窗口变小,文本可能会跳转到新行。您可以通过设置容器分区的最小宽度来解决此问题。您可以发布您的.aspx标记吗?我扩展了代码,您可以发布您的.aspx标记吗?我扩展了代码,aspNo我需要它位于行的开头,不是在新的一行上,文本必须在后面,而不是在前面。不,我需要它在这行的开头,而不是在新的一行上,文本必须在后面,而不是在前面。接下来我将学习所有的安全措施。我一遍又一遍地听到这一点,但我只想在我清理完之后,先把功能准备好。我需要的不是一句新台词,你只是比我说的完全一样。我还编辑了代码下方的连接信息@Garrith:另外,将连接字符串粘贴到web.config中,而不是分散在代码中。您正在为自己设置一个噩梦般的维护场景。@Garrith-安全应该是第一位的。如果您使用ORM工具,您可以轻松地完成所有这一切,而无需编写单个查询;浮动:左;/>到动态生成的div?每次创建div时都会创建img,该div由我的代码设置。请阅读我在帖子中的cs代码,了解其工作原理。我不确定我能不能把这样的东西放进去?@Garrith-查看更新的链接了解一个通用的方法。我正在学习接下来的所有安全措施。我听了一遍又一遍,但我只想
功能首先是我清理的。我需要的不是一句新台词,你只是比我说的完全一样。我还编辑了代码下方的连接信息@Garrith:另外,将连接字符串粘贴到web.config中,而不是分散在代码中。您正在为自己设置一个噩梦般的维护场景。@Garrith-安全应该是第一位的。如果您使用ORM工具,您可以轻松地完成所有这一切,而无需编写单个查询;浮动:左;/>到动态生成的div?每次创建div时都会创建img,该div由我的代码设置。请阅读我在帖子中的cs代码,了解其工作原理。不确定我是否可以在其中放置这样的东西?@Garrith-查看更新的链接以了解执行此操作的一般方法。我已经有了一个div test css,如何将其添加到其中?我会用css更新我的帖子,我已经尝试过了,只是把它添加到文章的末尾,但是没有用,我已经有了一个div测试css,我怎么把它添加到里面呢?我将用css更新我的帖子,我已经尝试过了,只是在文章末尾添加了css,但没有效果。实际上,你可以在asp页面上保留原始div,并将img a text div添加到该控件中。会减少一些代码。我喜欢占位符。哦,你可能想在CSS中使用类而不是ID,因为你在多篇文章中循环,最终会得到重复的ID。实际上,你可以在asp页面上保留原始div,并将img a文本div添加到该控件中。会减少一些代码。我喜欢占位符。哦,你可能会想在CSS中使用类而不是ID,因为你在多篇文章中循环,最终会得到重复的ID。这是可行的,但出于某种原因,我无法让CSS包装文本?这是可行的,但出于某种原因,我无法让CSS包装文本?