C# 创建用户HTML控件

C# 创建用户HTML控件,c#,C#,我想创建一个自定义Html控件 在ASPX中: <custom:Message runat="server" ID="" Type="" // { "Tip", "Note", "Important", "Warning" , "Caution" } Label="" Text="" Visible="" /> 生成的Html: 小心 重要提示:

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

在ASPX中:

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

生成的Html:


小心
重要提示: Lorem ipsum dolor sit amet,是一位杰出的献身者。五味子 埃吉特·利奥Cras suscipit urna velnibh placerat前庭。

属性:
类型用于主分区的customClass。
标签是
中的文本

文本是
块中的文本。

您可以使用ASP.NET用户控件进行此操作。这是ASP.NET窗体的一个非常常见、使用良好的功能。我很惊讶你的研究还没有发现:-)

无论如何,当您在VisualStudio中转到“添加新项”时,可以创建一个新的用户控件。从模板列表中选择“Web用户控件”。这将创建一个扩展名为.ascx的文件-这是您的用户控件。您可以在其中添加所需的任何HTML标记、javascript和其他.NET控件(甚至其他用户控件)。它也有代码,可以响应事件等,以相同的方式作为一个完整的页面

一旦创建并包含在项目中,就可以在主aspx页面中使用。这分为两部分-首先添加一个指令以注册控件,然后可以添加一个标记以与内置控件相同的方式使用控件

<%@ Register TagPrefix="uc" TagName="myControl" Src="~/Controls/myControl.ascx" %>
...
<uc:myControl id="ctrl1" runat="server"/>
显然,在代码背后的某个地方,您可以使用这些值来填充UI或其他内容

要在标记中使用它们,请执行以下操作:

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

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

更多信息可在此处找到:(如何创建用户控件)
以及(如何在页面中包含它们)

我进行了搜索,但方向不对。正在搜索“自定义控件”而不是“用户控件”。谢谢你的快速回答。我现在是RTFM。一旦我完成控件,您将得到您应得的绿色勾号。我可以用我的用户控件版本更新我的问题吗。因为我不知道为什么,但我不觉得它在什么意义上是“有效的”?它执行起来很慢,或者您认为它对您的代码结构没有帮助?它不慢,它可以工作。我的英语不是很好。所以我应该说我觉得它不性感。因为例如,我在我的
公共字符串文本{get;Set;}
的“Set”中设置了标签属性,我不确定我是否理解您的意思。也许你应该提出一个新问题,把你发现的问题的所有细节都写下来。然后我和其他人可以回顾一下,看看是否有更好的方法来做你想做的事情。
<uc:myControl id="ctrl1" runat="server" Label="TestLabel" Text="TestText" />