web用户控件,web 控件
怎样调用web用户控件
1)web界面前台代码
2)web界面后台代码
using?System;
using?System.Collections.Generic;
using?System.Web;
using?System.Web.UI;
using?System.Web.UI.WebControls;
namespace?UserControlsDemo1
{
public?partial?class?_Default?:?System.Web.UI.Page
{
protected?void?Page_Load(object?sender,?EventArgs?e)
{
if?(!IsPostBack)
{
//后台调用用户控件
WebUserControl1?webUserControl1?=?(WebUserControl1)Page.LoadControl("~/WebUserControl1.ascx");
webUserControl1.ID?=?"webUserControl1";
div1.Controls.Add(webUserControl1);
}
}
}
}
如何在页面中动态加载Web用户控件
昨天刚好遇到了这个问题。经过一天的试验,终于可以把它实现了。步聚如下:1、首先,制作Web用户控件。比如:a.ascx. b.ascx. c.ascxpublic void BindData(...){...} 。作用是绑定数据。2、将它们与关键字一同保存到数据库。如key controlaa.ascxb b.ascxc c.ascx3、在页面的Page_Load()方法中加入以下代码:首先是根据不同的请求取到,WebUserControl 的虚拟路径(略),保存到字符串变量path中。
web中创建用户控件通常有哪几个步骤
使用 Web 部件应用程序中的用户控件时,可以在运行时利用 WebPart 控件的所有功能。有关详细信息,请参见在 Web 部件应用程序中使用 ASP.NET 服务器控件。用户控件还保留了作为服务器控件的正常功能,但有一个例外:在 Web 部件应用程序中使用的用户控件上禁用输出缓存。对于每个页请求,Web 部件控件集都要求将所有控件添加到控件树。要使个性化设置功能能够正常工作,且个性化设置数据可以往返回到控件,这是必需的。但是,如果在用户控件上启用了输出缓存,控件将不会添加到控件树,这就会与 Web 部件功能发生冲突。这就是通过设计在 Web 部件应用程序中的用户控件上禁用输出缓存的原因。
创建 Web 部件页以承载用户控件
创建一个新的 ASP.NET 页。在页顶部添加下面的页声明。
VB
@page language="VB" %
C#
@page language="C#" %
在刚才添加的页声明下面,添加以下具有 HTML 标记的基本页结构。
head
titleWeb Parts Demo Page/title
/head
body
h1Web Parts User Control Demonstration/h1
form runat="server"
table cellspacing="0" cellpadding="0" border="0"
tr
td valign="top"
/td
td valign="top"
/td
td valign="top"
/td
/tr
/table
/form
/body
/html
将该页保存到启用了个性化设置的站点下的目录中。
向页添加 Web 部件控件
在页的 form 元素紧下面,添加一个 WebPartManager 控件。
asp:webpartmanager id="WebPartManager1" runat="server" /
在 asp:webpartmanager 元素的紧下面、表的第一组 td 标记(第一个表列)中间,添加一个 WebPartZone 控件,以包含您将在后面的步骤中添加的用户控件。
asp:webpartzone id="SideBarZone" runat="server"
headertext="Sidebar Zone"
zonetemplate
/zonetemplate
/asp:webpartzone
在您刚才添加的区域的 zonetemplate 元素中,添加一个现有的服务器控件以及一些静态内容,在运行时会将它们视为另一个 Web 部件控件(因为它在 Web 部件区域中):
asp:label runat="server" id="linksPart" title="My Links"
a href=""ASP.NET site/a
br /
a href=""GotDotNet/a
br /
a href=""Contoso.com/a
br /
/asp:label
在表的第二组 td 标记(第二个表列)中,添加另一个 WebPartZone 控件,以包含您将在后面的步骤中添加的用户控件。
asp:webpartzone id="MainZone" runat="server"
headertext="Main Zone"
zonetemplate
/zonetemplate
/asp:webpartzone
在表的第三个 td 元素(第三列)中,添加一个 asp:editorzone 元素。添加一个 zonetemplate 元素,然后添加一个asp:appearanceeditorpart 和一个 asp:layouteditorpart 元素。编辑器区域中的代码应类似于下面这样:
asp:editorzone id="EditorZone1" runat="server"
zonetemplate
asp:appearanceeditorpart runat="server"
id="AppearanceEditorPart1" /
asp:layouteditorpart runat="server"
id="LayoutEditorPart1" /
/zonetemplate
/asp:editorzone
保存页。
创建用户控件
在文本编辑器中创建一个新文件。此文件将包含也可以作为 Web 部件控件添加到页面的用户控件。
注意
本演练的搜索控件并不实现实际的搜索功能;它只用于演示 Web 部件功能。
在新文件的顶部,如下例中所示添加控件声明。
VB
%@ control language="VB" classname="SearchUserControl" %
C#
%@ control language="C#" classname="SearchUserControl" %
在控件声明的下面,添加一对 script 标记,并在这对标记之间添加用于创建可个性化设置的属性的代码。请注意,ResultsPerPage 属性 (Property) 包含一个 Personalizable 属性 (Attribute)。如果提供了具有用户界面 (UI) 的编辑控件在“设计”视图中更改设置,则此属性将使控件的用户能够个性化设置每一页要返回的搜索结果数量。控件的代码应当类似于下面的代码示例。
VB
%@ control language="VB" classname="SearchUserControl" %
script runat="server"
Private results As Integer
Personalizable() _
Property ResultsPerPage() As Integer
Get
Return results
End Get
Set(ByVal value As Integer)
results = value
End Set
End Property
/script
C#
%@ control language="C#" classname="SearchUserControl" %
script runat="server"
private int results;
[Personalizable]
public int ResultsPerPage
{
get
{return results;}
set
{results = value;}
}
/script
在 script 元素的下面添加一个文本框和一个按钮,以便为搜索控件提供基本的用户界面,如下面的代码示例所示。
asp:textbox runat="server" id="inputBox"/asp:textbox
br /
asp:button runat="server" id="searchButton" text="Search" /
将文件命名为 SearchUserControlVB.ascx 或 SearchUserControlCS.ascx(具体取决于您使用的语言),并将其保存到 WebPartsDemo.aspx 页所在的目录中。
安全注意
该控件具有一个文本框,用于接受用户输入,这是一个潜在的安全威胁。网页中的用户输入可能会包含具有恶意的客户端脚本。默认情况下,ASP.NET 网页验证用户输入,以确保输入中不包含 HTML 元素或脚本。只要启用了此验证,就不需要显式检查用户输入中的脚本或 HTML 元素。有关更多信息,请参见脚本侵入概述。
在主 Web 部件区域中引用用户控件
在网页的顶部,将下面的声明添加到页声明的后面,以引用刚刚创建的用户控件。如果您使用的不是本主题中提供的用户控件示例,则需要将 src 属性设置为您所使用的用户控件的路径和文件名,您还可以选择为 tagname 属性赋一个不同的值。
[VB]
%@ register tagprefix="uc1" tagname="SearchUserControl"
src="searchusercontrolvb.ascx" %
[C#]
%@ register tagprefix="uc1" tagname="SearchUserControl"
src="searchusercontrolcs.ascx" %
在主区域的 zonetemplate 元素中,引用您在前面创建的用户控件。
uc1:SearchUserControl id="searchPart" runat="server"
title="Search" /
保存和关闭该页。
VS2013 中怎么创建Web用户控件
创建 Web 部件页以承载用户控件
创建一个新的 ASP.NET 页。在页顶部添加下面的页声明。
VB
@page language="VB" %
C#
@page language="C#" %
在刚才添加的页声明下面,添加以下具有 HTML 标记的基本页结构。
html
head
titleWeb Parts Demo Page/title
/head
body
h1Web Parts User Control Demonstration/h1
form runat="server"
table cellspacing="0" cellpadding="0" border="0"
tr
td valign="top"
/td
td valign="top"
/td
td valign="top"
/td
/tr
/table
/form
/body
/html
将该页保存到启用了个性化设置的站点下的目录中。
向页添加 Web 部件控件
在页的 form 元素
web用户控件 的优点和缺点在哪里
Web服务器控件:
·Web服务器控件与HTML服务器控件相比具有以下优点:
---Web服务器控件的类型化对象模型变成简洁并且易于检错。
---它们自动为下级(HTML3.2)和上级(HTML4.0)浏览器生成正确的HTML。
---它们可以用于生成更复杂的服务器控件(例如Calendar和DateGrid)。
·Web服务器控件的优缺点。
---直接控制服务器控件如何呈现在发送给浏览器的页上的能力较弱。
HTML服务器控件:
优点:
---HTML服务器控件能够同时在服务器和客户端编程。
---使用HTML服务器控件将现有HTML或ASP页转换为Web空体页。
缺点:
---所有值均为字符串,没有不具有类型安全性。
---可支持多种浏览器,但必须使用扩展式,自己对其进行编程。
---不能自动检测用于样式的浏览器功能。
使用服务器控件设计页面的建议:
·Web服务器控件
---偏爱类似Visual Basic的变成模型。
---打算编写可能由HTML3.2和HTML4.0浏览器使用的Web窗体页。
---需要特定功能,例如日历
---打算创建包含嵌套控件的应用程序并且需要在容器级别捕获事件。
·HTML服务器控件
---偏爱类似HTML的对象模型。
---打算使用现有HTML页,并需要迅速添加Web窗体功能。
---与客户端脚本交互。
怎么在web用户控件中使用类中方法中的值
你是想在WEB界面调用用户控件,然后再WEB界面使用用户控件中的某个控件的属性,是这样吗?
你可以把这个控件的属性作成类属性,比如用户控件中有个TextBox控件
你想调用的话,可以在用户控件中写个方法
public string getTextBox1()//获取用户控件中文本框的值的方法
{
return textBox1.Text;
}
public void setTextBox1(string value)//设置用户控件中文本框的值的方法
{
textBox1.Text = value;
}
也可以作成属性,我就懒得写了。
在WEB界面使用用户控件ID.getTextBox1();
就能获取到或设置文本框中的值了。
其余的你可以以此类推。