利用ProfileBase,解决web aplication,profilecommon类不存在的问题。

VS2008中,如果你新建的是web site的话,那么在你使用profile的时候,系统就会自动生成一个profileCommon类。但是,如果你使用的是web application的话,这个profileCommon类没有办法自动生成的,园子里面有人写过关于使用辅助工具生成web profile再改成profileCommon的方法。我这里解决这个问题主要是利用ProfileBase类,它是ProfileCommon类的基类。接下来我要做的就是在注册的同时,改变profile。下面就上程序了

   

ContractedBlock.gif ExpandedBlockStart.gif Code
  1                   <table id="outside" border="0">
  2
  3                                      <tr>
  4
  5                                        <td align="center" colspan="2">
  6
  7                                            <span class="boldBlue">创建用户名和密码</span>
  8
  9                                        </td>
 10
 11                                    </tr>
 12
 13                                    <tr>
 14
 15                                        <td align="center" colspan="2">
 16
 17                                            &nbsp;
 18
 19                                        </td>
 20
 21                                    </tr>
 22
 23                                       <tr>
 24
 25                                              <td align="right">
 26
 27                                                  <asp:Label ID="Label1" runat="server" AssociatedControlID="LocationUpdatePanel">所在地区</asp:Label></td>
 28
 29                                              <td>
 30
 31                                              <asp:UpdatePanel ID="LocationUpdatePanel" runat="server">
 32
 33                                                 <ContentTemplate>
 34
 35                                                  <asp:DropDownList ID="ProvinceDropDownList" runat="server" DataSourceID="ProvinceSqlDataSource"
 36
 37                                                         DataTextField="Province" DataValueField="ProvinceId" AutoPostBack="true">
 38
 39                                                  </asp:DropDownList>
 40
 41                                                  <asp:DropDownList ID="CityDropDownList" runat="server"
 42
 43                                                         DataSourceID="CitySqlDataSource" DataTextField="City" DataValueField="CityId" AutoPostBack="true">
 44
 45                                                  </asp:DropDownList>
 46
 47                                                     <asp:Label ID="Label_Status" runat="server" Text="" EnableViewState="false" ForeColor="Red"></asp:Label>
 48
 49                                                  </ContentTemplate>
 50
 51                                                  </asp:UpdatePanel>
 52
 53                                               </td>
 54
 55                                   </tr>
 56
 57                       </table>
 58
 59            
 60
 61                     <asp:CreateUserWizard ID="createUserWizard" runat="server" LoginCreatedUser="true" 
 62                          OnCreatedUser="createUserWizard_CreatedUser" OnCreateUserError="createUserWizard_CreateUserError">
 63
 64                    <WizardSteps>
 65
 66                        <asp:CreateUserWizardStep ID="createUserWizardStep" runat="server">
 67
 68                            <ContentTemplate>
 69
 70                                <table border="0">
 71
 72                                   
 73
 74                                    <tr>
 75
 76                                        <td align="right">
 77
 78                                            <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">用户名</asp:Label></td>
 79
 80                                        <td>
 81
 82                                            <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
 83
 84                                            <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
 85
 86                                                ErrorMessage="请填写用户名" ToolTip="请填写用户名" ValidationGroup="createUserWizard">*</asp:RequiredFieldValidator>
 87
 88                                        </td>
 89
 90                                    </tr>
 91
 92                                    <tr>
 93
 94                                        <td align="right">
 95
 96                                            <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">密码</asp:Label></td>
 97
 98                                        <td>
 99
100                                            <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>
101
102                                            <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
103
104                                                ErrorMessage="请填写密码" ToolTip="请填写密码" ValidationGroup="createUserWizard">*</asp:RequiredFieldValidator>
105
106                                        </td>
107
108                                    </tr>
109
110                                    <tr>
111
112                                        <td align="right">
113
114                                            <asp:Label ID="ConfirmPasswordLabel" runat="server" AssociatedControlID="ConfirmPassword">确认密码</asp:Label></td>
115
116                                        <td>
117
118                                            <asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password"></asp:TextBox>
119
120                                            <asp:RequiredFieldValidator ID="ConfirmPasswordRequired" runat="server" ControlToValidate="ConfirmPassword"
121
122                                                ErrorMessage="请填写确认密码" ToolTip="请填写确认密码"
123
124                                                ValidationGroup="createUserWizard">*</asp:RequiredFieldValidator>
125
126                                        </td>
127
128                                    </tr>
129
130                                    <tr>
131
132                                        <td align="right">
133
134                                            <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">电子邮箱</asp:Label></td>
135
136                                        <td>
137
138                                            <asp:TextBox ID="Email" runat="server"></asp:TextBox>
139
140                                            <asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email"
141
142                                                ErrorMessage="请填写邮箱地址" ToolTip="请填写邮箱地址" ValidationGroup="createUserWizard">*</asp:RequiredFieldValidator>
143
144                                            <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="Email"
145
146                                                ErrorMessage="请正确输入邮箱地址" ValidationGroup="CreateUserWizard" ValidationExpression="^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((".[a-zA-Z0-9_-]{2,3}){1,2})$"></asp:RegularExpressionValidator>
147
148                                        </td>
149
150                                    </tr>
151
152                                    <tr>
153
154                                        <td align="right">
155
156                                            <asp:Label ID="QuestionLabel" runat="server" AssociatedControlID="Question">安全问题</asp:Label></td>
157
158                                        <td>
159
160                                            <asp:TextBox ID="Question" runat="server"></asp:TextBox>
161
162                                            <asp:RequiredFieldValidator ID="QuestionRequired" runat="server" ControlToValidate="Question"
163
164                                                ErrorMessage="Security question is required." ToolTip="Security question is required."
165
166                                                ValidationGroup="createUserWizard">*</asp:RequiredFieldValidator>
167
168                                        </td>
169
170                                    </tr>
171
172                                    <tr>
173
174                                        <td align="right">
175
176                                            <asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">安全回答</asp:Label></td>
177
178                                        <td>
179
180                                            <asp:TextBox ID="Answer" runat="server"></asp:TextBox>
181
182                                            <asp:RequiredFieldValidator ID="AnswerRequired" runat="server" ControlToValidate="Answer"
183
184                                                ErrorMessage="请填写安全回答" ToolTip="请填写安全回答"
185
186                                                ValidationGroup="createUserWizard">*</asp:RequiredFieldValidator>
187
188                                        </td>
189
190                                    </tr>
191
192                                    <tr>
193
194                                        <td align="center" colspan="2">
195
196                                            <asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="Password"
197
198                                                ControlToValidate="ConfirmPassword" Display="Dynamic" ErrorMessage="密码和确认密码必须一致"
199
200                                                ValidationGroup="createUserWizard"></asp:CompareValidator>
201
202                                        </td>
203
204                                    </tr>
205
206                                    <tr>
207
208                                        <td align="center" colspan="2" style="color: red">
209
210                                            <asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal>
211
212                                        </td>
213
214                                    </tr>
215
216                                </table>
217
218                            </ContentTemplate>
219
220                            <CustomNavigationTemplate>
221
222                                <table border="0" cellspacing="5" style="width: 100%; height: 100%;">
223
224                                    <tr align="right">
225
226                                        <td align="right" colspan="0">
227
228                                            <href="javascript:SubmitRegistration();"><img border="0" src="images/submitbutton.gif" /></a>
229
230                                            <asp:LinkButton ID="StepNextButton" runat="server" CommandName="MoveNext" ValidationGroup="createUserWizard" />
231
232                                        </td>
233
234                                    </tr>
235
236                                </table>
237
238                            </CustomNavigationTemplate>
239
240                        </asp:CreateUserWizardStep>
241
242<asp:CompleteWizardStep runat="server"></asp:CompleteWizardStep>
243
244                    </WizardSteps>
245
246                </asp:CreateUserWizard>
247

Idoutsidetable其实是我为了尽可能不改写membership还采取的一个方法,在外部看来是和注册在一起的,但是其实质却是在CreateUserWizard控件之外的。同时,我把他直接存入profile中,为使用profile所做的准备工作这里就不说了。Profile下面有两个属性,一个是Province,另一个是City。接下贴下后台的程序:

   

ContractedBlock.gif ExpandedBlockStart.gif Code
 1protected void Page_Load(object sender, EventArgs e)
 2
 3ExpandedBlockStart.gifContractedBlock.gif    {
 4
 5        if (IsPostBack)
 6
 7ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 8
 9            if (ProvinceDropDownList.SelectedItem.Text == "请选择")
10
11ExpandedSubBlockStart.gifContractedSubBlock.gif            {
12
13                Label_Status.Text = "请选择省份";
14
15                return;
16
17            }

18
19            if (CityDropDownList.SelectedItem.Text == "请选择")
20
21ExpandedSubBlockStart.gifContractedSubBlock.gif            {
22
23                Label_Status.Text = "请选择城市";
24
25                return;
26
27            }

28
29        }

30
31    }

32
33ExpandedBlockStart.gifContractedBlock.gif    public string Province get return this.ProvinceDropDownList.SelectedItem.Text; } }
34
35ExpandedBlockStart.gifContractedBlock.gif    public string City get return this.CityDropDownList.SelectedItem.Text; } }
36
37    protected void createUserWizard_CreatedUser(object sender, EventArgs arguments)
38
39ExpandedBlockStart.gifContractedBlock.gif    {
40
41        //这里初始化了一个profileBase类
42
43        ProfileBase profile=new ProfileBase();
44
45        //获得刚才注册的UserName
46
47        String UserName = (createUserWizard.CreateUserStep.ContentTemplateContainer.FindControl("UserName"as TextBox).Text.Trim();
48
49       //根据刚才注册的UserName初始化所需要的Profile
50
51        profile.Initialize(createUserWizard.UserName,true);
52
53       //初始化完成就可以给profile的属性赋值了
54
55        profile.SetPropertyValue("Province",Province);
56
57        profile.SetPropertyValue("City",City);
58
59       //将改变保存,一切完成了。现在打开对应的profile数据库表,你会看到你刚添加的用户信息所对的profile值
60
61        profile.Save();
62
63    }

64

好了,这些就是一些主要的内容,这个是我第一次写,有不足之处和谬误之处,忘大家包涵和指正。希望对大家有用
安内网

转载于:https://www.cnblogs.com/JosephLiu/archive/2009/03/09/1406819.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值