创建用户HTML控件

本文关键字:控件 HTML 用户 创建 | 更新日期: 2023-09-27 18:08:56

我想创建一个自定义Html控件。

在ASPX中:

<custom:Message runat="server" ID="" 
                Type="" // { "Tip", "Note", "Important", "Warning" , "Caution" }
                Label=""
                Text=""
                Visible="" />

生成的Html:

<div class="fixedClass customClass">
<span class="label">caution</span><hr>
<blockquote>
    <p>
        <strong>Important:</strong> 
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque ipsum lectus, cursus id rutrum vel
        , feugiat eget leo. <strong>Cras suscipit urna vel</strong> nibh placerat vestibulum. 
    </p>
</blockquote>

属性:
Type用于主div的customClass。
标签是<span class="label"> .
中的文本。文本为<p>块中的文本。

创建用户HTML控件

可以使用ASP。NET用户控件。这是一个非常常见的、使用得很好的ASP特性。网络形式。我很惊讶你的研究没有发现它:-)

无论如何,你可以创建一个新的用户控件,当你去"添加新项目"在Visual Studio。从模板列表中选择"Web用户控制"。这将创建一个扩展名为.ascx的文件——这是您的用户控件。在它里面,你可以添加任何你想要的HTML标记、javascript和其他。net控件(甚至其他用户控件)。它也有后台代码,可以响应事件等,以相同的方式作为一个完整的页面。

一旦创建并包含在项目中,您就可以在主aspx页面中使用它。这分为两部分——首先添加一个指令来注册控件,然后你可以添加一个标签来像使用内置控件一样使用该控件。

<%@ Register TagPrefix="uc" TagName="myControl" Src="~/Controls/myControl.ascx" %>
...
<uc:myControl id="ctrl1" runat="server"/>

如果你想在控件上添加属性(例如:"Label"answers"Text"如您所讨论的,在控件的代码后面定义公共属性:

public string Label { get; set; }
public string Text { get; set; }

显然,在代码后面的某个地方,你可以使用这些值来填充UI或其他东西。

在标记中使用:

<uc:myControl id="ctrl1" runat="server" Label="TestLabel" Text="TestText" />

或者,您可以从使用控件的页面的代码后面填充它们,就像对象的任何公共属性一样。

更多信息可以在这里找到:https://msdn.microsoft.com/en-us/library/wt3k2fyw.aspx(如何创建用户控件)以及https://msdn.microsoft.com/en-us/library/sbz9etab.aspx(如何将它们包含在您的页面中)