我想创建一个自定义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>
块中的文本。
答案 0 :(得分:1)
您可以使用ASP.NET用户控件。它是ASP.NET Forms的一个非常常见且常用的功能。我很惊讶你的研究还没有完成: - )
无论如何,当你转到&#34;添加新项目时,你可以创建一个新的用户控件&#34;在Visual Studio中。选择&#34;网络用户控制&#34;从模板列表。这将创建一个扩展名为.ascx的文件 - 这是您的用户控件。在其中,您可以添加任何您想要的HTML标记,javascript和其他.NET控件(甚至其他用户控件)。它还具有代码隐藏功能,可以像整页一样响应事件等。
一旦创建并包含在您的项目中,您就可以在主aspx页面中使用。这有两个部分 - 首先添加一个指令来注册控件,然后你可以添加一个标签来使用控件,就像使用内置控件一样。
<%@ Register TagPrefix="uc" TagName="myControl" Src="~/Controls/myControl.ascx" %>
...
<uc:myControl id="ctrl1" runat="server"/>
如果你想在控件上有属性(例如&#34; Label&#34;和&#34; Text&#34;正如你所讨论的那样,在控件的代码隐藏中定义公共属性:
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(如何将它们包含在您的页面中)