.什么是ASP.net中的用户控件
有时可能需要控件中具有内置 ASP.NET Web 服务器控件未提供的功能。在这种情况下,您可以创建自己的控件。有两个选择。您可以创建:
用户控件。用户控件是能够在其中放置标记和 Web 服务器控件的容器。然后,可以将用户控件作为一个单元对待,为其定义属性和方法。
自定义控件。自定义控件是编写的一个类,此类从 Control 或 WebControl 派生。
创建用户控件要比创建自定义控件方便很多,因为可以重用现有的控件。用户控件使创建具有复杂用户界面元素的控件极为方便。
本主题提供了使用 ASP.NET 用户控件的概述。
用户控件结构
--------------------------------------------------------------------------------
ASP.NET Web 用户控件与完整的 ASP.NET 网页(.aspx 文件)相似,同时具有用户界面页和代码。可以采取与创建 ASP.NET 页相似的方式创建用户控件,然后向其中添加所需的标记和子控件。用户控件可以像页面一样包含对其内容进行操作(包括执行数据绑定等任务)的代码。
用户控件与 ASP.NET 网页有以下区别:
用户控件的文件扩展名为 .ascx。
用户控件中没有 @ Page 指令,而是包含 @ Control 指令,该指令对配置及其他属性进行定义。
用户控件不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到 ASP.NET 页中。
用户控件中没有 html、body 或 form 元素。这些元素必须位于宿主页中。
可以在用户控件上使用与在 ASP.NET 网页上所用相同的 HTML 元素(html、body 或 form 元素除外)和 Web 控件。例如,如果您要创建一个将用作工具栏的用户控件,则可以将一系列 Button Web 服务器控件放在该控件上,并创建这些按钮的事件处理程序。
下面的示例演示一个实现微调控件的用户控件,在此微调控件中,用户可单击向上和向下按钮以滚动文本框中的一系列选择。
安全说明
该示例具有一个文本框,用于接受用户输入,这是一个潜在的安全威胁。默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。有关更多信息,请参见脚本侵入概述。
C#
VB
复制
protected int currentColorIndex;
protected String[] colors = {"Red", "Blue", "Green", "Yellow"};
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
currentColorIndex =
Int16.Parse(ViewState["currentColorIndex"].ToString());
}
else
{
currentColorIndex = 0;
DisplayColor();
}
}
protected void DisplayColor()
{
textColor.Text = colors[currentColorIndex];
ViewState["currentColorIndex"] = currentColorIndex.ToString();
}
protected void buttonUp_Click(object sender, EventArgs e)
{
if(currentColorIndex == 0)
{
currentColorIndex = colors.Length - 1;
}
else
{
currentColorIndex -= 1;
}
DisplayColor();
}
protected void buttonDown_Click(object sender, EventArgs e)
{
if(currentColorIndex == (colors.Length - 1))
{
currentColorIndex = 0;
}
else
{
currentColorIndex += 1;
}
DisplayColor();
}
注意,用户控件与 ASP.NET 页十分相像,它包含若干控件(一个 TextBox 控件和两个 Button 控件)以及处理按钮的 Click 事件和页面的 Load 事件的代码。但是,用户控件除了控件以外不包含标记,没有 @ Page 指令,但包含一个 @ Control 指令。
向页面添加用户控件
--------------------------------------------------------------------------------
通过在宿主页上进行注册,可以将用户控件添加到页面中。注册用户控件时,要指定包含用户控件的 .ascx 文件、标记前缀以及将用于在页面上声明用户控件的标记名称。有关详细信息,请参见 如何:在 ASP.NET 网页中包括用户控件。
定义用户控件的属性和方法
--------------------------------------------------------------------------------
可以采用定义页面的属性和方法时所用的方式定义用户控件的属性和方法。通过定义用户控件的属性,就能以声明方式及利用代码设置其属性。
用户控件中的事件
--------------------------------------------------------------------------------
用户控件包含 Web 服务器控件时,可以在用户控件中编写代码来处理其子控件引发的事件。例如,如果用户控件包含一个 Button 控件,则可以在用户控件中为该按钮的 Click 事件创建处理程序。
默认情况下,用户控件中的子控件引发的事件对于宿主页不可用。但是,可以为用户控件定义事件并引发这些事件,以便将子控件引发的事件通知宿主页。进行此操作的方式与定义任何类的事件一样。有关更多信息,请参见 引发事件。
引用外部资源
--------------------------------------------------------------------------------
用户控件运行时,会将该用户控件的 URL 作为基 URL,以解析对外部资源(如图像或其他页面的定位点)的引用。例如,如果用户控件包含一个 Image 控件,而此控件的 ImageUrl 属性设置为 Images/Button1.gif,则会将图像的 URL 添加到用户控件的 URL 以解析该图像的完整路径。如果用户控件引用的资源不在用户控件本身的子文件夹中,则必须提供在运行时解析为正确文件夹的路径。有关指定 ASP.NET 服务器控件的路径的更多信息,请参见 ASP.NET Web 项目路径。
缓存与用户控件
--------------------------------------------------------------------------------
用户控件支持独立于宿主页的缓存指令。因此,可以向页面添加用户控件,并对页面的某些部分进行缓存。有关详细信息,请参见 缓存 ASP.NET 页的某些部分。
请参见
--------------------------------------------------------------------------------
其他资源
ASP.NET 用户控件
模板面积就是实际面积。超高模板面积就是高度超过设定值的模板面积。套取做法时先套取模板面积,再套取超高模板面积。就是说超高模板面积重复了,但只是计取了超高增加费用。超高模板是指高于3.6m以上的模板,是要算超高增加费的。
假设分段是1m,超高起始高度为3.6m,而且是不分段,计算总量的话,而且不足一段进一(也就是不满1m,按一段算)假设按默认的标高原则,默认的是首层有地下室找楼地面,无地下室找室外地坪,假设你的室外地坪是-0.3 那超高计算如下:?
[7.8(层高)+0.3(室内外高差)—3.6(超高起始高度)]/1(分段高度)=超高数量 8.1-3.6=4.5 不足一段按照一段算 则为6个超高数量然后用超高数量乘以超高模板工程量: {[7.8(层高)+0.3(室内外高差)—3.6(超高起始高度)]*柱周长—(其他构件所扣减的模板量)}*6=超高模板工程量
扣减量如:构造柱算至梁底或者板底等等的,还有扣减墙所占的等。
扩展资料:
计算规则:现浇混凝土及钢筋混凝土模板工程量计算规则
1、现浇混凝土及钢筋混凝土模板工程量,除另有规定外,均按混凝土与模板接触面的面积,以m2计算。
2、现浇钢筋混凝土柱、梁、板、墙的支模高度(即室外地坪至板底或板面至板底之间的高度)以3.6m以内为准,超过3. 6m以上部分,另按超过部分计算增加支撑工程量。
3、现浇钢筋混凝土墙、板单孔面积在0.3m2以内的孔洞,不予扣除,洞侧壁模板亦不增加;单孔面积在0.3 m2以外时,应予扣除,洞侧壁模板面积并入墙、板模板工程量之内计算。
4、现浇钢筋混凝土框架分别按梁、板、柱、墙有关规定计算,附墙柱,并入墙内工程量计算。
5、杯形基础杯口高度大于杯口大边长度的,套高杯基础定额项目。
6、柱与梁、柱与墙、梁与梁等连接的重叠部分以及伸入墙内的梁头、板头部分,均不计算模板面积。
7、构造柱外露面均应按图示外露部分计算模板面积。构造柱与墙接触面不计算模板面积。
8.现浇钢筋混凝土悬挑板(雨篷、阳台)按图示外挑部分尺寸的水平投影面积计算。挑出墙外的牛腿梁及板边模板不另计算。
9.现浇钢筋混凝土楼梯,以图示露明面尺寸的水平投影面积计算,不扣除小于500mm楼梯井所占面积。楼梯的踏步、踏步板平台梁等侧面模板,不另行计算。
10、混凝土台阶不包括梯带,按图示台阶尺寸的水平面积计算,台阶端头两侧不另计算模板面积。
11、现浇混凝土小型池槽按构件外围体积计算,池槽内、外侧及底部的模板不另行计算。
预制钢筋混凝土构件模板工程量计算规则
1、预制钢筋混凝土模板工程量,除另有规定者外均按混凝土实体体积以m3计算。
2、小型池槽按外型体积以m3计算。
3、预制桩尖按虚体积(不扣除桩尖虚体积部分)计算
构筑物钢筋混凝土模板工程量计算规则
1、构筑物工程的模板工程量,除另有规定者外,区别现浇、预制和构件类别,分别按一和二的有关规定计算。
2、大型池槽等分别按基础、墙、板、梁、柱等有关规定计算并套相应定额项目。
3、液压滑升钢模板施工的烟囱、水塔塔身、贮仓等,均按砼体积以m3计算。预制倒圆锥形水塔罐壳模板按砼体积以m3计算。
4、预制倒圆锥形水塔罐壳组装、提升、就位,按不同容积以座计算。
参考资料:
百度百科-模板工程量计算鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!