www.baike369.com
百科369 > ASP.NET教程 > 使用ASP.NET的ProfileParameter对象

使用ASP.NET的ProfileParameter对象


使用ASP.NET的ProfileParameter对象

ProfileParameter对象用于表示Profile对象的任意属性。ProfileParameter对象除包含Parameter基类的所有属性外,还具备下面的属性:

  • PropertyName:表示和ProfileParameter对象相关的Profile属性的名称。

例如,如果我们需要创建一个留言本应用程序,允许访客在留言的同时输入自己的显示名称,则可以用Web配置文件向Profile对象添加一个DisplayName属性。

web.config文件的源代码如下:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <profile enabled="true">
            <properties>
                <add name="DisplayName" defaultValue="Anonymous"/>
            </properties>
        </profile>
    </system.web>
</configuration>

在web.config的Web配置文件中包含定义了一个名为DisplayName的Profile属性。该属性的默认值为Anonymous。


实例

在ShowProfileParameter.aspx网页中,在将新留言添加到留言本中时,使用ProfileParameter对象来自动读取DisplayName属性的值。程序代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowProfileParameter.aspx.cs" Inherits="ShowProfileParameter" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>使用ASP.NET的ProfileParameter对象-www.baike369.com</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <asp:FormView
        id="frmGuestBook"
        DataSourceID="srcGuestBook"
        DefaultMode="Insert"
        Runat="server">
        <InsertItemTemplate>
        <asp:Label
            id="lblComments"
            Text="输入您的留言:"
            Runat="server">
        </asp:Label>

        <br />

        <asp:TextBox
            id="txtComments"
            Text='<%# Bind("Comments") %>'
            TextMode="MultiLine"
            Columns="50"
            Rows="4"
            Runat="server">
        </asp:TextBox>

        <br />

        <asp:Button
            id="btnInsert"
            Text="添加留言"
            CommandName="Insert"
            Runat="server" />
        </InsertItemTemplate>
    </asp:FormView>

    <hr />

    <asp:GridView
        id="grdGuestBook"
        DataSourceID="srcGuestBook"
        Runat="server">
    </asp:GridView>
    <asp:SqlDataSource
        id="srcGuestBook"
        SelectCommand="SELECT Name,Comments,EntryDate FROM GuestBook ORDER BY Id DESC"
        InsertCommand="INSERT GuestBook (Name,Comments) VALUES (@Name,@Comments)"
        ConnectionString="<%$ ConnectionStrings:GuestBook %>"
        Runat="server">
        <InsertParameters>
            <asp:ProfileParameter Name="Name" PropertyName="DisplayName" />
        </InsertParameters>
    </asp:SqlDataSource>

    </div>
    </form>
</body>
</html>

执行结果如下:

使用ASP.NET的ProfileParameter对象的操作效果

在ShowProfileParameter.aspx页面中,SqlDataSource控件包含一个ProfileParameter对象。该对象的值等于profile的DisplayName属性的值。

Copyright© 2011-2016 www.baike369.com All Rights Reserved