苏宁易购网站设计怎么制作,韶关市建设与房地产信息网站,基础网站建设公司,泛微oa办公系统网页版如果是纯手工开发web part#xff0c;其实还是比较困难的#xff0c;因为这种类型的web part是以类库的形式出现#xff0c;没有可视化的界面#xff0c;完全由代码写出来#xff0c;包含控件的样式#xff0c;属性#xff0c;事件等等。开发过自定义控件的朋友可能会感… 如果是纯手工开发web part其实还是比较困难的因为这种类型的web part是以类库的形式出现没有可视化的界面完全由代码写出来包含控件的样式属性事件等等。开发过自定义控件的朋友可能会感受深一些所以在asp.net应用程序中开发员从来不开发自定义控件也非常常见。这种纯代码的开发方式的优点是灵活性强而且部署方便它只会包含一个DLL。但如果界面特别复杂的话要想实现还是有一定难度的搞不好因为一条简单的HTML代码的错误会导致整个控件样式的出错。 在MOSS开发中还好微软支持直接嵌套已经创建好的用户控件。不过不能直接用它需要一个容器控件来包含它。这里的容器控件可以自己写也可以用已经非常成熟的QuickPart。下面我将以一个小小的搜索列表的例子来说明如何嵌套用户控件到MOSS网站中。 列表说明我创建了一个列表共有两列标题和解决方案。内容如下图: 需求创建一个web part包含一个文本框和一个搜索按钮实现列表的标题搜索。 第一部署容器控件QuickPart。 1):QuickPart组件可以上网上搜索下然后把它部署到网站bin目录 2):修改配置文件注册容器控件 SafeControl AssemblyQuickPart, Version1.0.0.0, Cultureneutral, PublicKeyToken2d0bb71b2dd16f9e NamespaceMicrosoft.PRC.SharePoint TypeName* SafeTrue / 3):把新增加的控件导入到库中QuickPart总共会有两个控件 1:Microsoft.PRC.SharePoint.ComsumerQuickPart; 2:Microsoft.PRC.SharePoint.ProviderQuickPart。 第二:创建用户控件。一般在创建web part时我们创建的是web part工程现在要使用用户控件所有我们要创建一个web application项目然后在里面创建一个名为CostomList.ascxC的用户控件实现搜索当前网站的列表信息。从工具箱中分别加入一个GridView,一个TextBox,一个Button, 1:前台部分代码如下 asp:GridView IDGridView1 runatserver AutoGenerateColumnsFalse Columns asp:TemplateField HeaderText标题 ItemTemplate a href DispForm.aspx?ID%# Eval(ID)% %# Eval(Name) % /a /ItemTemplate /asp:TemplateField /Columns/asp:GridViewasp:TextBox IDtbKey runatserver/asp:TextBoxasp:Button IDbtnSearch runatserver onclickbtnSearch_Click Text搜索3 / 代码说明其中的字段:ID,Name是创建列表时自动生成的如果不清楚的话可以先将AutoGenerateColumns设置成true,看查询内容的全部字段内容然后根据需要选取自己需要的内容即可。 2:后台代码如下 Code/// summary /// 获取列表的数据 /// /summary /// returns/returns private void GetData() { SPSite site SPContext.Current.Site; SPWeb web site.OpenWeb(); SPList list web.Lists[我的自定义列表]; SPQuery query new SPQuery(); //检索所有的项目 query.ViewAttributes ScopeRecursiveAll; string cmal string.Format(WhereContainsFieldRef NameTitle /Value TypeText{0}/Value/Contains/Where, this.tbKey.Text.ToString()); query.Query cmal; int i 1; query.RowLimit 1; do { SPListItemCollection listItems list.GetItems(query); this.GridView1.DataSource listItems; this.GridView1.DataBind(); query.ListItemCollectionPosition listItems.ListItemCollectionPosition; i; } while (query.ListItemCollectionPosition ! null); } /// summary /// 搜索事件 /// /summary /// param namesender/param /// param namee/param protected void btnSearch_Click(object sender, EventArgs e) { this.GetData(); } 代码说明 1:SPQuery是MOSS中的一个数据查询方法SPQuery有三个重要的属性 1):ViewAttributes:设置检索的列表的范围Scope是否包含子文件Default、Recursive、RecursiveAll和FilesOnly。 2):RowLimit:限制返回的行数类似于SQL中的select top n。 3):ListItemCollectionPosition与分页信息相关。 2:SPSite:web 应用程序下的网站集 3:SPWeb网站集下的每一个站和子站点要想访问一个列表就需要从SPWeb对象开始。 4:SPList:列表对象,上面创建的列表就属于这个范围。 第三部署创建的用户控件。为了部署调试方便我们可以在编译项目时让它自动部署到MOSS网站 1:复制生成的DLL文件到网站BIN目录方法是项目属性-生成-输出目录如下图 2:复制CostomList.ascx文件到InetpubwwwrootwssVirtualDirectories20983wpresources,方法是项目属性-生成事件如下图 第四在要编辑的页面中添加ProviderQuickPart控件在用户控件列表中就能看到我们刚才创建的用户控件了选中添加就行了。 总结上面的就是如果嵌套用户控件的过程比起纯代码开发的web part还是容易不少毕竟是可视化操作而且以前的asp.net知识都可以用上具有不容易出错方便调试的优点。 转载于:https://www.cnblogs.com/ASPNET2008/archive/2009/01/07/1371101.html