
[ConnectionConsumer(
"Text",
"TextConsumer")]
public
void GetTextTransferInterface(ITextToPass provider)

{

Label1.Text = provider.GetText();

}
如今选择WebPartManager的Connection mode,咱们就能够在webpart的菜单上看到“链接”选项
当咱们单击了webpart菜单的“链接”的时候,会看到以下图所示的状况
单击“建立提供者链接”,你会看到以下所示。而后从DropDownList里选择“Consumer”选项。
一旦建立完链接,就容许你在“Provider”中输入文本,以下图所示
单击按钮后“Consumer”的Label控件就会显示你输入的值
经过这种方法咱们就能够在webpart之间传输数据。
保存页面状态
在运行咱们的项目以前,有一个问题就是如何保存不一样用户的不一样页面状态呢?为了保存用户对页的修改,咱们就须要把这些设置保存到数据库里。在个人例子中使用到了注册和登陆控件。
首先你要在你的web.config设置验证模式为“Forms”。而后在你的项目中新建一个webform并取名为Login.aspx。拖拽一个Login控件到页上,设置它的DestinationPageUrl属性为Default.aspx。在你的项目中再新建另外一个webform,取名为Signup.aspx,拖拽一个CreateUserWizard控件在此页上。如此用户就能够注册和登陆了。另外你还要确保SqlExpress服务正在运行中。咱们使用asp.net自动在App_Data文件夹内建立的ASPNETDB.mdf为默认数据库。这个数据库已经提供了保存不一样用户的不用页设置的相关表和存储过程。其在Visual Studio环境中的截图出示以下
“PersonalizationPerUser”表就用于保存每一个用户的不用页设置状态。它将一个序列化的值保存到PageSettings字段里。幸运的是咱们不用接触这个表,由于asp.net 2.0给咱们提供了必需的API
建立数据库
为了建立一个数据库来保存咱们的页设置状态,须要运行“aspnet_regsql.exe”工具。这个工具在本地的\Windows\Framework\v2.0.50727文件夹里。它能够帮助咱们建立所需的表和存储过程。该工具向导的截屏以下
该工具会建立以下这些表
最后咱们要作的工做就是在web.config里作一些配置。下面将告诉你如何作,基本上就是要确保启动Membership和Profile特性。请注意其中的<Clear />标签,它将移除machine.config中的相应标签。咱们还要增长一个链接字符串以指向咱们的数据库,我把它命名为“Database1”
<connectionStrings>
<clear/>
<add name="LocalSqlServer"
connectionString="data source=127.0.0.1;database=Database1;
user id=sa ;password=sa"/>
</connectionStrings>
<system.web>
<compilation debug="true"/>
<authentication mode="Forms" />
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web,
Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer"
applicationName="/CustomConnections" />
</providers>
</membership>
<profile enabled="true" defaultProvider="TableProfileProvider">
<providers>
<clear/>
<add name="TableProfileProvider"
type="Microsoft.Samples.SqlTableProfileProvider"
connectionStringName="LocalSqlServer"
table="asdspnet_Profile"
applicationName="/CustomConnections"/>
</providers>
</profile>
</system.web>
总结webparts为咱们提供了一个在运行时自定义web站点的简单方法。它是从SharePoint中提取出来,并引进到asp.net 2.0中的。咱们已经在本文中测试了它的一些基本用法,如使用不一样类型的webpart和使用自定义数据库等等。