【问题标题】:Response.Write in particular section of MarkupResponse.Write 在标记的特定部分
【发布时间】:2012-12-28 07:42:57
【问题描述】:

我有一个使用 ASP.NET、C# 和 MS SQL Server 的 Web 应用程序。我正在使用一个外部 CSS Metro UI CSS,它为我提供了风格化的组件,如 Tiles(类似于 Win8)、通知、按钮等。我想显示从数据库中获取的内容或以这些样式 DIV 计算的数据。但由于它们不是 ASP.NET 控件,因此它们不能绑定到数据源。

我尝试使用Response.Write("MY HTML CODE") 动态生成内容,虽然可行,但它并不完美,因为内容与标记不同。我实际上不知道有什么区别,但它不适合我现有的静态页面内容。有没有办法使用Response.Write() 将内容插入到现有的 HTML 中?

我现在正在尝试这个,

Response.Write("<div class='message-dialog bg-color-blue fg-color-white' style='width: 50%; z-index:1000;'><h1>Congratulations!<br/></h1><h3>You Account is created.Please Sign In.</h3><a href='Default.aspx'><button class='button-set active bg-color-red fg-color-white' style='float:right'> OK </button></a></div>");

这显示了一个带有正确文本的样式框,但它出现在我现有页面的顶部,带有_z-index_,而在没有它的页面后面。

【问题讨论】:

  • 是什么阻止您将纯 html 控件转换为服务器端控件?
  • 对不起,我不知道,可能是 runat 属性!

标签: asp.net css visual-studio-2010 c#-4.0 response.write


【解决方案1】:

任何控件,甚至是特殊样式的 div 都可以通过添加runat="server" 属性在服务器端进行修改。

所以在你的 aspx 中,你可以这样做:

<div class='message-dialog bg-color-blue fg-color-white' style='width: 50%; z-index:1000;' runat="server" id="myDiv" />

并且在代码后面做任何你想做的事情......例如:

myDiv.Controls.Add(new Label() { Text = "Hello World" });

甚至

 myDiv.InnerHtml = "<h1>Hello World</h1>";

在这种情况下使用Response.Write 可能是错误的方式...

【讨论】:

  • 谢谢,这是一个很好的解释。但我还有一些疑问。我可以在这些控件中使用 吗?如何在 myDiv 中定位元素?或者改变他们的 CSS 属性?
  • 在 div 中添加元素就像我展示的那样,使用 Controls.Add 并更改 Css 可以使用 CssStyle 属性完成
猜你喜欢
  • 1970-01-01
  • 2014-02-18
  • 1970-01-01
  • 2020-06-10
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
  • 2023-01-22
  • 1970-01-01
相关资源
最近更新 更多