2013-01-14 37 views
3

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

我尝试使用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_和页面的背后出现离不开它。

+1

什么阻止您将纯html控件转换为服务器端控件? –

+0

对不起,我不知道,可能是runat attrib! –

回答

4

任何控件,即使是专门设计的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在这种情况下可能是错误的方式...

+0

谢谢,这是一个很好的解释。 但我有更多的疑问。我可以使用<%eval()%>这些类型的控件吗?我如何定位myDiv中的元素?或者改变他们的CSS属性? –

+0

在div里面添加元素是按照我的说法完成的,使用'Controls.Add'并改变Css可以使用'CssStyle'属性来完成 – Blachshma