代码之家  ›  专栏  ›  技术社区  ›  stephenbayer

ASP.NET控件与HTML标记等效

  •  57
  • stephenbayer  · 技术社区  · 16 年前

    我正在寻找一个备忘单,它允许我向HTML设计师展示标准HTML标记的等效asp.net控件。例如<asp:面板>将以HTML格式呈现<部门>以及<asp:标签>将以HTML格式呈现<span>。我一直在谷歌上搜索,但没有用。有人可以发布一个链接到一个好的备忘单,以便这个项目的设计师可以更清楚地理解aspx页面上的标记。

    为了清楚起见,我想要一个指向主要ASP.NET控件列表的链接,并描述它们与标准HTML的关系。这将是伟大的,如果这是在PDF格式或在一个易于阅读和打印的网页。在我的例子中,原因是我们有一位非常熟悉HTML的PHP开发人员来参与我们的项目,我觉得如果我能给他这样一份“备忘单”,更好地理解标准ASP.NET服务器控件会很有用。

    我主要指的是.NET2.0框架,但我们也在使用3.0/3.5。

    5 回复  |  直到 16 年前
        1
  •  108
  •   Community CDub    5 年前

    这不是一个简单的问题,因为它取决于您正在谈论的.NEt版本以及控件的状态。例如,面板,在1&1.1渲染到表,而在更高版本中它是DIV。

    但总的来说(2/3),以下是:

    • 小组-分区

    • 面板--GroupingText=“####”是字段集,图例

    • 标签-跨度

    • 按钮-输入,键入按钮

    • 链接按钮-带有JS回发脚本的Href

    • 超链接-标准HREF

    • 图像按钮-输入,键入图像

    • Textbox--Mode=输入密码,键入密码

    • Textbox--Mode=多行为Textarea

    • 列表框-选择

    • RadioButton-输入,带GroupName的收音机

    • Repeater/Listview——复杂。

    • Gridview-表格

    • 表-表

    • 文件-输入,类型=文件

        2
  •  11
  •   Zhaph - Ben Duguid    8 年前

    Stephen 他的名单相当全面。不过,我想补充以下几点:

    BrowserCaps .

    1.x面板将在IE6+中呈现为div-但是在Firefox(或其他“下游”浏览器-被视为下游,因为默认情况下Machine.Config中没有它的详细信息)中,它将呈现为单个单元格表-这可以通过为Firefox/Opera/Safari/等提供更新的BrowserCaps来解决,在Machine.Config或Web.Configs中。

    此外,控制适配器可以更改输出-例如 CSS Control Adapters 将为大多数表格控件(登录、注册、转发器等)输出样式化的div。

    请注意,在TechEd/PDC上宣布ASP.NET 4.0将默认内置CSS控制适配器。

        3
  •  4
  •   Matt Ephraim    16 年前

    这并不能直接回答您的问题,但在很多情况下,您可以将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中可以添加<%=myDiv.ClientID%>获取由.Net生成的ID。

        4
  •  0
  •   Element    16 年前

    如果需要呈现特定的标记,htmlgenericcontrol可能会有所帮助

        5
  •  0
  •   Chizl    8 年前
    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);
        }
    }
    
    推荐文章