【问题标题】:How to generate HTML and CSS dynamically in asp.net?如何在 asp.net 中动态生成 HTML 和 CSS?
【发布时间】:2026-02-20 23:00:02
【问题描述】:

我正在尝试将this photo album 集成到我的asp.net 网站中。我正在从数据库中选择 3 张图片的 url,并显示来自特定相册的这 3 张图片。现在的问题是,如果用户有多个相册怎么办?它应该能够在页面上生成与该用户关联的数据库中一样多的 Jquery 专辑。

 <div class="image_stack" style="margin-left:300px" runat="server" >
 <img  id="photo1" class="stackphotos"  runat="server" clientidmode="static" >
    <img  id="photo2" class="stackphotos"  runat="server" clientidmode="static">
     <img   id="photo3" class="stackphotos"  runat="server" clientidmode="static" > 
     </div>

 public DataTable dt = new DataTable();
    dboperation dbo = new dboperation();

    protected void Page_Load(object sender, EventArgs e)
    {

        string q = "select photourl ,AlbumName  from PhotoAlbum where UserId=42";
        dt = dbo.Getdt(q);
        string a = dt.Rows[0]["photourl"].ToString();
        string b = dt.Rows[1]["photourl"].ToString();
        string c = dt.Rows[2]["photourl"].ToString();

        photo1.Src = a.Substring(1, a.Length - 1);
        photo2.Src = b.Substring(1, b.Length - 1);
        photo3.Src = c.Substring(1, c.Length - 1);

        q = "  select PhotoAlbum.AlbumId,PhotoAlbum.AlbumName from PhotoAlbum where UserId=42";

         dt = dbo.Getdt(q);
         drpalbum.DataSource = dt;
         drpalbum.DataTextField = "albumname";
         drpalbum.DataValueField = "albumid";
         drpalbum.DataBind();
    }

如果您需要查看更多代码,请告诉我。

【问题讨论】:

  • 1) 请查看如果用户有多个用户怎么办?
  • 2) 请澄清上下文。 WebForms,MVC,drpalbum 是什么?
  • @HenkHolterman 多张专辑(对不起)
  • @HenkHolterman asp.net C# 4.0 我正在使用 sql server 2008
  • SQl 的东西不太相关。但我仍然不知道你(想)如何制作页面。

标签: c# javascript jquery asp.net sql


【解决方案1】:

你需要做的是让你的页面上有一个 HTML 元素像这样与服务器通信,

与光子几乎相同

//HTML - Does not have to be div could be anything like <p>, <div>, <a> etc.
<span id="SomeHTMLElement" runat="server" ></span>

//C#
SomeHTMLElement.innerHTML = "Any text you want to your page (text, HTML, script and/or CSS";

【讨论】:

  • span 通常用于设计目的而不是添加元素它与 div 有很大不同
  • div 将占据宽度,你使用它:) 注意有一个很大的区别,那不是真的。 div 和 span 的主要区别在于 display:block;(div) 和 display:inline;(span),如果你愿意,你可以写 并手动设置样式,结果相同。跨度>
  • ya div 会采用那个因为我们可能会在两者之间显示一些元素,但通常我们用来显示不属于太多样式的元素我们确实使用 div 虽然你是对的 也可以
【解决方案2】:

只使用一个'div'

里面是这样的

//HTML (.aspx)
<div id="MyDiv" runat="server" > </div>

//CodeBehind (.aspx.cs)
MyDiv.innerHTML = "Your HTML & CSS or Script code here CODE";

它将应用于整个div

编辑 1:

using System.Web.UI.HtmlControls;

上面导入

【讨论】:

  • 我收到'错误 19'System.Web.UI.HtmlControls.HtmlGenericControl' 不包含 'innerHTML' 的定义,并且没有扩展方法 'innerHTML' 接受类型为“System.可以找到 Web.UI.HtmlControls.HtmlGenericControl'(您是否缺少 using 指令或程序集引用?)'
  • 检查你的代码隐藏是否存在这种类型的错误,它应该显示它,可能是导入问题。
  • 是的,您必须使用 System.Web.UI.HtmlControls 导入;
【解决方案3】:

签出这个以在 asp.net 中动态生成 HTML 和 CSS

http://www.dotnetperls.com/htmltextwriter

【讨论】: