2013-08-20 100 views
0

我想知道如何创建ASP.NET用户控件,允许内部内容(以及如何渲染内的内容。创建ASP.NET用户控件允许定制的内部内容

作为一个非常简单的举例来说,假设我们要创建一个控件创建一个div,所以将被用于控制如下:

<%@ Page Language="C#" %> 
<%@ Register TagPrefix="custom" TagName="MyDiv" 
    Src="~\Controls\MyDiv.ascx" %> 
<html> 
<head /> 
<body> 
    <custom:MyDiv id="Div1" runat="server"> 
    ... customizable content here ... 
    </custom:MyDiv> 
</body> 
<html> 

控制应该是不可知其内在的内容 - 即任何asp.net的内容可以被添加并按照惯例渲染,然后用<div></div>标签包围。

(注:我显然不是想做一个控件来模拟div标签,它只是一个简单的例子。)

回答

1

这是一个有趣的问题。在我提出答案之前,我认为您应该查看母版页:http://www.asp.net/web-forms/tutorials/master-pages

如果这样不能提供您的解决方案,并且您想要坚持使用用户控制路线,则它将无法按照您希望的方式工作做到这一点。

+0

感谢您的回复。我正在做的是创建一个重复元素(在我的情况下是一个具有圆角的定制盒子,或多或少)。看起来这超出了用户控件可以处理的范围,所以我正在调查使用自定义Web服务器改为控制。 – Hutch

+0

你想在那个重复元素里面显示什么?数据?如果是这样,我会看看一个'Repeater'。如果它确实对控件的每个实例都是唯一的,那么自定义Web服务器控件很可能是唯一的选择。 –

+0

对不起,我可能需要提供更多的上下文。由于浏览器兼容性的限制,它本质上是一个视觉元素,我需要使用一堆div。我有一种感觉,它可能会在某个时候发生变化(因为一切都在变化),所以我不想在所有地方剪切和粘贴。它正在被重复使用,但不是以一种有效的方式与一台重整机配合使用。所以似乎需要一个自定义的Web服务器控件。再次感谢你的帮助。 – Hutch

相关问题