想要在没有任何asp控件的情况下创建动态html布局。其实我想离开aspx页面只有第一线将html布局添加到空白aspx页面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Kletka._Default" %>
上和产生的代码隐藏HTML完整布局。建议请问如何实现这一点。
想要在没有任何asp控件的情况下创建动态html布局。其实我想离开aspx页面只有第一线将html布局添加到空白aspx页面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Kletka._Default" %>
上和产生的代码隐藏HTML完整布局。建议请问如何实现这一点。
所以...你想使用ASP.NET Web表单,而无需使用内置在像GridView的控件等,在所有?
你可以写你的html和使用受保护的属性? <%= SomeWhereText%?
,或者在代码的完整HTML布局背后使属性
protected string MyEntirePage {get;set;}
,并在代码中建立字符串后面
MyEntirePage="<h1>Hello</h1><p>body here</p><p>the end</p>";
,并通过
它在aspx页面写出来<%=MyEntirePage%>
回复:“我有你的观点,但我真的不喜欢asp.net控件,我更喜欢使用html控制和定制它们与js“
安装NancyFx或者也许旧的(但仍然很棒)WCF Web Api并使用类似KnockoutJs,jQuery或Backbone来执行ajax调用动态内容=没有asp.net web窗体所有。好极了。
您需要在Page_Init事件中动态添加控件。所以你需要一个容器来容纳你的HTML,所以你应该开始在页面中添加一个Panel,然后页面的控件将被添加到Panel中。
Panel pnl = new Panel();
Page.Controls.Add(pnl);
TextBox txt = new TextBox();
pnl.Controls.Add(txt);
等....
一种方法是这样的:
protected void Page_Load(object sender, EventArgs e)
{
string coolHTML = @"<div class=""someclass"">... and other cool content</div>";
Response.Write(coolHTML);
}
随着中说。这是一个可怕的想法。在代码背后动态构建HTML是一个噩梦,它不会尽其所能,并且会失去asp.net提供的许多其他功能,这是首先使用ASP.NET的主要原因。
你可以做的是为特定的东西(页脚,标题,左面板等)创建用户控件,并在标记中为它们定义布局;然后在代码后面,您可以将其添加到页面中的特定占位符,具体取决于某些业务条件。
假设你有一个母版页(或至少一些内容占位符在页面),像这样:
<asp:ContentPlaceHolder id="footer" runat="Server" />
在后面的代码,你可以这样做:
footer.Controls.Add(new FooterControl());
更新 OP只是在评论中提到,他不喜欢asp.net控件...
你不有使用ASP.NET控件,如果您需要能够在服务器端操纵其属性,则可以使用常规HTML控件并设置它们的runat="server"
属性。例如:
<div id="mydiv" runat="server" > some content </div>
在后面的代码:
myDiv.Attributes.Add("class","css_class");
myDiv.Attributes.Add("onclick","callJavascriptFunction();");
// and so on.
没事做这样的事情偶尔在非常特殊的情况,但我会避免这种代码,因为难以维持。想象一下,例如,您需要为myDiv
元素添加另一个类。现在,你必须改变你的代码,而不是仅仅改变你的标记......
我有你的观点,但我真的不喜欢asp.net控件。我更喜欢使用html控件并使用js自定义它们。 – Ars 2012-08-08 16:45:19
那你为什么不直接在aspx页面上使用HTML控件呢? – TheGeekYouNeed 2012-08-08 16:48:39
我创建的不是单页面应用程序。我想开发一个网站。并解析网址(几个获取参数)加载不同的内容。 – Ars 2012-08-08 16:52:20
我讨厌被投票而没有被告知我出错的地方。如何在没有反馈的情况下改进我的答案... – 2012-08-08 16:57:47