ASP.NET控件与HTML标记等效
我正在寻找一个备忘单,它允许我向HTML设计师展示标准HTML标记的等效asp.net控件。例如,将呈现为HTML,将呈现为HTML。我一直在谷歌上搜索,但没有用。有人可以发布一个链接到一个好的备忘单,以便这个项目的设计师可以更清楚地理解aspx页面上的标记 为了清楚起见,我想要一个指向主要ASP.NET控件列表的链接,并描述它们与标准HTML的关系。这将是伟大的,如果这是在PDF格式或在一个易于阅读和打印的网页。在我的例子中,原因是我们有一位非常熟悉HTML的PHP开发人员来参与我们的项目,我觉得如果我能给他这样一份“备忘单”,更好地理解标准ASP.NET服务器控件会很有用ASP.NET控件与HTML标记等效,asp.net,html,tags,servercontrols,Asp.net,Html,Tags,Servercontrols,我正在寻找一个备忘单,它允许我向HTML设计师展示标准HTML标记的等效asp.net控件。例如,将呈现为HTML,将呈现为HTML。我一直在谷歌上搜索,但没有用。有人可以发布一个链接到一个好的备忘单,以便这个项目的设计师可以更清楚地理解aspx页面上的标记 为了清楚起见,我想要一个指向主要ASP.NET控件列表的链接,并描述它们与标准HTML的关系。这将是伟大的,如果这是在PDF格式或在一个易于阅读和打印的网页。在我的例子中,原因是我们有一位非常熟悉HTML的PHP开发人员来参与我们的项目,我
我主要指的是.NET 2.0框架,但我们也在使用3.0/3.5。这并不能直接回答您的问题,但在很多情况下,您可以将runat=“server”添加到常规HTML标记中,使ASP.NET了解它。如果您希望能够动态更改页面,但仍然允许设计器处理页面,那么这可能会使设计器的工作更轻松
<div id="myDiv" runat="server"></div>
<span id="mySpan" runat="server"></span>
编辑:
我忘记提到的一件事(正如steve_c所指出的)是,添加runat=“server”将更改标记的ID,这可能有点麻烦。如果你在CSS中使用ID,你会有点运气不好,但是在JavaScript中你可以添加一些东西,比如获取由.Net生成的ID 这不是一个简单的问题,因为它取决于您所谈论的.NEt版本以及控件的状态。例如,在1&1.1中,面板渲染为表,而在更高版本中,面板渲染为DIV 但总的来说(2/3),以下是:
- 小组-分区
- 面板--GroupingText=“####”是字段集,图例
- 标签-跨度
- 按钮-输入,键入按钮
- 链接按钮-带有JS回发脚本的Href
- 超链接-标准HREF
- 图像按钮-输入,键入图像
- Textbox——默认为输入,键入文本
- Textbox--Mode=输入密码,键入密码
- Textbox--Mode=多行为Textarea
- 下拉列表-选择
- 列表框-选择
- RadioButton-输入,带GroupName的收音机
- 复选框-输入,复选框
- Repeater/Listview——复杂
- Gridview-表格
- 表-表
- 文件-输入,类型=文件 这是最基本的。更深奥的控件(如登录控件)是一个表,其中包含一堆零碎的东西
受保护的void CreateHeaders(列表组信息)
protected void CreateHeaders(List<Group_Info> group_Info)
{
foreach (Group_Info gi in group_Info)
{
HtmlGenericControl groupContainer = new HtmlGenericControl("DIV");
String lastLableID = "disp" + gi.GroupName.ToString().Replace(" ", "");
groupContainer.ID = lastLableID;
groupContainer.Attributes.Add("class", "content-groups");
HtmlGenericControl groupTitle = new HtmlGenericControl("DIV");
groupTitle.ID = lastLableID + "Sub1";
if (gi.GroupName.Trim().Length == 0)
groupTitle.Attributes.Add("class", "titlebar-hidden");
else
{
groupTitle.Attributes.Add("class", "titlebar");
groupTitle.InnerText = gi.GroupName.ToString().Trim();
}
groupContainer.Controls.Add(groupTitle);
CreateFields(gi, ref groupContainer);
this.pageContainer.Controls.Add(groupContainer);
}
}
{
foreach(组信息中的组信息gi)
{
HtmlGenericControl groupContainer=新的HtmlGenericControl(“DIV”);
字符串lastLableID=“disp”+gi.GroupName.ToString().Replace(“,”);
groupContainer.ID=lastLableID;
添加(“类”、“内容组”);
HtmlGenericControl组标题=新的HtmlGenericControl(“DIV”);
groupTitle.ID=lastLableID+“Sub1”;
if(gi.GroupName.Trim().Length==0)
添加(“类”,“标题栏隐藏”);
其他的
{
添加(“类”、“标题栏”);
groupTitle.InnerText=gi.GroupName.ToString().Trim();
}
groupContainer.Controls.Add(groupTitle);
CreateFields(gi,refgroupcontainer);
this.pageContainer.Controls.Add(groupContainer);
}
}
+1,用于了解使用WebForms时实际生成的内容。请注意,LinkButton呈现一个锚元素(A),该元素在单击时回发。HyperLink元素更适合于常规锚元素(A)。Panel->div,有时table也适用于2.0downscaling@Crossbrowser-很好@安娜卡塔-我在建立名单时没有考虑缩小规模。只是一个概述ASP.NET控件“Label”输出一个,而不是一个标签。@birdus-我只在ASP:Label与输入控件关联时使用它,因此使用AssociatedControlId属性。设置为有效的输入控件后,ASP.Net标签会弹出一个Label元素。要添加Matt Ephraim所说的内容,您应该注意,如果该标记位于ASP.Net命名容器中,则通过添加runat=“server”ASP.Net可能会修改该标记的id属性。确实如此。我应该提到这一点。这是真的,您可以向几乎任何控件添加runat。这里我们已经使用asp.NET服务器控件创建了aspx页面。我们现在有一位来自PHP/HTML世界的新设计师在研究它,我希望让他更好地理解服务器控件。使用这个而不是实际的HTML标记的目的是什么?BrowserC