最近做个系统用到MemberShip来做用户权限管理,感觉Membership有点象java的acegi !
Membership里面有不少关键字段如:UserID,RoleID都是采用uniqueidentifier类型!
于是我在用GridView和DetailsView做一个主-从表结构程序的时候用一个UserID做为主表的
DataKeyName,用ObjectDataSource进行数据绑定,ObjectDataSource调用类UserLib的
GetUserInfo(string UserID)方法做为获取从表的数据源!
程序跑起来出现一个什么"IConverter"异常!MS的这个报错真实恶心之极!非常不明确!
后来查了一些资料才发现,对于uniqueidentifier类型的字段做DataKeyName,关联参数要
这样写:
<SelectParameters>
<asp:ControlParameter ControlID="grvUser" Name="UserID" PropertyName="SelectedValue"
Type="Object" />
</SelectParameters>
而且原来的GetUserInfo(string UserID)方法要改成GetUserInfo(System.Guid UserID)
按照以上方式修改后,一切OK!部分原代码如下:
UserManage.aspx代码:
<%@ Page Language="C#" MasterPageFile="~/Template/NormalTemplate.master" AutoEventWireup="true" CodeFile="UserManage.aspx.cs" Inherits="UserManage_UserManage" Title="学籍管理系统(Ajax版)" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
<TABLE width=500 align=center>
<TR>
<TD align="center">
<asp:Label style="TEXT-ALIGN: right" id="Label6" runat="server" ForeColor="#0000C0" Font-Bold="True">用户信息管理</asp:Label>
</TD>
<TD align="center">
<asp:Label style="TEXT-ALIGN: right" id="Label7" runat="server" ForeColor="#0000C0">当前状态:</asp:Label> <asp:Label style="TEXT-ALIGN: right" id="lblEditState" runat="server" ForeColor="#FF8000" Width="73px">新增</asp:Label>
</TD>
</TR>
<TR>
<TD bgColor=#cccccc colSpan=2 height=1></TD>
</TR>
<TR>
<TD align=center>关键字<asp:TextBox id="txtKey" runat="server" Width="100px" Height="16px" CssClass="input"></asp:TextBox> <asp:Button id="btnSearch" runat="server" Width="50px" CssClass="input" CausesValidation="False" Text="查找"></asp:Button>
</TD>
<TD align=center>当前共:<asp:Label id="lblResultCount" runat="server" ForeColor="Red" Text="0"></asp:Label>条记录 是第<asp:Label id="lblCurPage" runat="server" ForeColor="Red" Text="0"></asp:Label>页/一共<asp:Label id="lblPage" runat="server" ForeColor="Red" Text="0"></asp:Label>页
</TD>
</TR>
<TR>
<TD bgColor="#cccccc" colSpan="2" height="1">
</TD>
</TR>
<TR>
<TD colSpan=2>
<asp:GridView id="grvUser" runat="server" DataSourceID="dsoUser" Width="100%" AllowSorting="True" DataKeyNames="UserID" AutoGenerateColumns="False" AllowPaging="True" GridLines="Vertical" CellPadding="3" BorderWidth="1px" BorderStyle="None" BorderColor="#999999" BackColor="White">
<FooterStyle BackColor="#CCCCCC" ForeColor="Black"></FooterStyle>
<Columns>
<asp:TemplateField HeaderText="用户名">
<ItemStyle Width="80px"></ItemStyle>
<ItemTemplate>
<asp:LinkButton id="lblUserName" runat="server" Text='<%# Eval("UserName") %>' CommandName="Select"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="RealUserName" HeaderText="姓名">
<ItemStyle Width="50px" HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:TemplateField HeaderText="性别">
<ItemStyle Width="30px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="lblSex" runat="server" Text='<%# BindSexFormat(Eval("Sex")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="SchoolName" HeaderText="所属学校">
<ItemStyle Width="100px" HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:TemplateField HeaderText="上次登录">
<ItemTemplate>
<asp:Label ID="lblLastActivityDate" runat="server" Text='<%# BindDateFormat(Eval("LastActivityDate")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="状态">
<ItemStyle Width="30px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="lblState" runat="server" Text='<%# BindStateFormat(Eval("IsApproved")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle BackColor="#EEEEEE" ForeColor="Black"></RowStyle>
<SelectedRowStyle BackColor="#FFE0C0" BorderStyle="Solid" ForeColor="White" BorderColor="#8080FF" Font-Bold="True"></SelectedRowStyle>
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center"></PagerStyle>
<HeaderStyle BackColor="#000084" ForeColor="White" Font-Bold="True"></HeaderStyle>
<AlternatingRowStyle BackColor="Gainsboro"></AlternatingRowStyle>
</asp:GridView>
</TD>
</TR>
<TR>
<TD width="45%">
<asp:Label style="TEXT-ALIGN: right" id="lblDetailView" runat="server" ForeColor="#0000C0" Font-Bold="True">详细考试信息</asp:Label>
</TD>
<TD>
<asp:Button id="btnNew" runat="server" Width="50px" CssClass="input" CausesValidation="False" Text="新增"></asp:Button>
<asp:Button id="btnUpdate" runat="server" Width="50px" CssClass="input" Text="修改" Visible="False"></asp:Button>
<asp:Button id="btnDelete" runat="server" Width="50px" CssClass="input" Text="删除" Visible="False" OnClientClick="return confirm('是否确认删除当前记录?');"></asp:Button>
<asp:Button id="btnSave" runat="server" Width="50px" CssClass="input" Text="保存" Visible="False"></asp:Button>
<asp:Button id="btnCancel" runat="server" Width="50px" CssClass="input" CausesValidation="False" Text="取消"></asp:Button>
</TD>
</TR>
<TR>
<TD colSpan="2">
<asp:DetailsView id="dtvUserInfo" runat="server" DataSourceID="dsoUserDetail" ForeColor="#333333" Width="100%" Height="50px" GridLines="None" CellPadding="4" AutoGenerateRows="False">
<FooterStyle BackColor="#507CD1" ForeColor="White" Font-Bold="True"></FooterStyle>
<CommandRowStyle BackColor="#D1DDF1" Font-Bold="True"></CommandRowStyle>
<EditRowStyle BackColor="White" BorderColor="#E0E0E0"></EditRowStyle>
<RowStyle BackColor="#EFF3FB"></RowStyle>
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center"></PagerStyle>
<Fields>
<asp:TemplateField HeaderText="ID">
<EditItemTemplate>
<asp:Label ID="lblUserID" runat="server" Text='<%# Bind("UserID") %>'></asp:Label>
</EditItemTemplate>
<InsertItemTemplate>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="lblUserID" runat="server" Text='<%# Bind("UserID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用户名">
<EditItemTemplate>
<asp:TextBox id="txtUserName_E" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("UserName") %>' MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator id="reqUserName_E" runat="server" ErrorMessage="用户名用于登录不能为空!" Display="None" ControlToValidate="txtUserName_E" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexUserName_E" runat="server" ErrorMessage="用户名称录入不能带'-#//%$字符!考试名称录入不能带'-#//%$字符!长度(2~30)" Display="None" ControlToValidate="txtUserName_E" ValidationExpression="[^#/-'$%]{2,30}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox id="txtUserName" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("UserName") %>' MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator id="reqUserName" runat="server" ErrorMessage="用户名用于登录不能为空!" Display="None" ControlToValidate="txtUserName" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexUserName" runat="server" ErrorMessage="用户名称录入不能带'-#//%$字符!长度(2~30)" Display="None" ControlToValidate="txtUserName" ValidationExpression="[^#/-'$%]{2,30}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label id="lblUserName" runat="server" Text='<%# Eval("UserName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="密码">
<InsertItemTemplate>
<asp:TextBox id="txtPassword" runat="server" TextMode="Password" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("Password") %>' MaxLength="20"></asp:TextBox>
<asp:RequiredFieldValidator id="reqPassword" runat="server" ErrorMessage="密码用于登录不能为空!" Display="None" ControlToValidate="txtPassword" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexPassword" runat="server" ErrorMessage="密码录入不能带'-#//%$字符!长度(7~20)" Display="None" ControlToValidate="txtPassword" ValidationExpression="[^#/-'$%]{7,20}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="密码确认">
<InsertItemTemplate>
<asp:TextBox id="txtPasswordConfirm" runat="server" TextMode="Password" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("PasswordConfirm") %>' MaxLength="20"></asp:TextBox>
<asp:RequiredFieldValidator id="reqPasswordConfirm" runat="server" ErrorMessage="密码确认不能为空!" Display="None" ControlToValidate="txtPasswordConfirm" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexPasswordConfirm" runat="server" ErrorMessage="密码确认不能带'-#//%$字符!长度(7~20)" Display="None" ControlToValidate="txtPasswordConfirm" ValidationExpression="[^#/-'$%]{7,20}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="真实姓名">
<EditItemTemplate>
<asp:TextBox id="txtRealUserName_E" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("RealUserName") %>' MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator id="reqRealUserName_E" runat="server" ErrorMessage="真实姓名不能为空!" Display="None" ControlToValidate="txtRealUserName_E" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexRealUserName_E" runat="server" ErrorMessage="真实姓名录入不能带'-#//%$字符!真实姓名录入不能带'-#//%$字符!长度(2~30)" Display="None" ControlToValidate="txtRealUserName_E" ValidationExpression="[^#/-'$%]{2,30}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox id="txtRealUserName" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("RealUserName") %>' MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator id="reqRealUserName" runat="server" ErrorMessage="真实姓名不能为空!" Display="None" ControlToValidate="txtRealUserName" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexRealUserName" runat="server" ErrorMessage="真实姓名录入不能带'-#//%$字符!长度(2~30)" Display="None" ControlToValidate="txtRealUserName" ValidationExpression="[^#/-'$%]{2,30}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label id="lblRealUserName" runat="server" Text='<%# Eval("RealUserName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="性别">
<EditItemTemplate>
<asp:DropDownList ID="cmbSex_E" runat="server" Height="16px" CssClass="input" SelectedValue='<%# Bind("Sex") %>' Width="100px" DataValueField="Sex">
<asp:ListItem Text="男" Value="1"></asp:ListItem>
<asp:ListItem Text="女" Value="0"></asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="cmbSex" runat="server" CssClass="input" Height="16px" Width="100px" DataValueField="Sex" SelectedValue='<%# Bind("Sex") %>'>
<asp:ListItem Text="男" Value="1"></asp:ListItem>
<asp:ListItem Text="女" Value="0"></asp:ListItem>
</asp:DropDownList>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="lblSex" runat="server" Text='<%# Bind("Sex") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="所属角色">
<EditItemTemplate>
<asp:DropDownList ID="cmbRoleID_E" runat="server" Height="16px" CssClass="input" SelectedValue='<%# Bind("RoleID") %>' Width="100px" DataSourceID="sdcRole" DataTextField="RoleName" DataValueField="ID">
</asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="cmbRoleID" runat="server" CssClass="input" Height="16px" Width="100px" DataSourceID="sdcRole" DataTextField="RoleName" DataValueField="ID" SelectedValue='<%# Bind("RoleID") %>'>
</asp:DropDownList>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="lblRoleName" runat="server" Text='<%# Bind("RoleName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="所属学校">
<EditItemTemplate>
<asp:DropDownList ID="cmbSchoolID_E" runat="server" Height="16px" CssClass="input" SelectedValue='<%# Bind("SchoolID") %>' Width="100px" DataSourceID="sdcRole" DataTextField="SchoolName" DataValueField="ID">
</asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="cmbSchoolID" runat="server" CssClass="input" Height="16px" Width="100px" DataSourceID="sdcRole" DataTextField="SchoolName" DataValueField="ID" SelectedValue='<%# Bind("SchoolID") %>'>
</asp:DropDownList>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="lblSchoolName" runat="server" Text='<%# Bind("SchoolName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="电子邮件">
<EditItemTemplate>
<asp:TextBox id="txtEmail_E" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("Email") %>' MaxLength="100"></asp:TextBox>
<asp:RequiredFieldValidator id="reqEmail_E" runat="server" ErrorMessage="电子邮件录入不能为空!" Display="None" ControlToValidate="txtEmail_E" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexEmail_E" runat="server" ErrorMessage="电子邮件录入格式不正确!邮件录入长度(<100)" Display="None" ControlToValidate="txtEmail_E" ValidationExpression="/w+([-+.']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*" SetFocusOnError="True"></asp:RegularExpressionValidator>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox id="txtEmail" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("Email") %>' MaxLength="100"></asp:TextBox>
<asp:RequiredFieldValidator id="reqEmail" runat="server" ErrorMessage="电子邮件录入不能为空!" Display="None" ControlToValidate="txtEmail" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexEmail" runat="server" ErrorMessage="电子邮件录入格式不正确!邮件录入长度(<100)" Display="None" ControlToValidate="txtEmail" ValidationExpression="/w+([-+.']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*" SetFocusOnError="True"></asp:RegularExpressionValidator>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label id="lblEmail" runat="server" Text='<%# Eval("Email") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="找回密码问题">
<EditItemTemplate>
<asp:TextBox id="txtQuestion_E" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("PasswordQuestion") %>' MaxLength="30"></asp:TextBox>
<asp:RequiredFieldValidator id="reqQuestion_E" runat="server" ErrorMessage="找回密码问题不能为空!" Display="None" ControlToValidate="txtQuestion_E" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexQuestion_E" runat="server" ErrorMessage="找回密码问题不能带'-#//%$字符!长度(4~30)" Display="None" ControlToValidate="txtQuestion_E" ValidationExpression="[^#/-'$%]{4,30}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox id="txtQuestion" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("PasswordQuestion") %>' MaxLength="30"></asp:TextBox>
<asp:RequiredFieldValidator id="reqQuestion" runat="server" ErrorMessage="找回密码问题不能为空!" Display="None" ControlToValidate="txtQuestion" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexQuestion" runat="server" ErrorMessage="找回密码问题不能带'-#//%$字符!长度(4~30)" Display="None" ControlToValidate="txtQuestion" ValidationExpression="[^#/-'$%]{4,30}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label id="lblQuestion" runat="server" Text='<%# Eval("PasswordQuestion") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="问题答案">
<EditItemTemplate>
<asp:TextBox id="txtAnswer_E" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("PasswordAnswer") %>' MaxLength="30"></asp:TextBox>
<asp:RequiredFieldValidator id="reqAnswer_E" runat="server" ErrorMessage="问题答案不能为空!" Display="None" ControlToValidate="txtAnswer_E" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexAnswer_E" runat="server" ErrorMessage="问题答案不能带'-#//%$字符!长度(4~30)" Display="None" ControlToValidate="txtAnswer_E" ValidationExpression="[^#/-'$%]{4,30}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox id="txtAnswer" runat="server" Width="100px" Height="16px" CssClass="input" Text='<%# Bind("PasswordAnswer") %>' MaxLength="30"></asp:TextBox>
<asp:RequiredFieldValidator id="reqAnswer" runat="server" ErrorMessage="问题答案不能为空!" Display="None" ControlToValidate="txtAnswer" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="rexAnswer" runat="server" ErrorMessage="问题答案不能带'-#//%$字符!长度(4~30)" Display="None" ControlToValidate="txtAnswer" ValidationExpression="[^#/-'$%]{4,30}" SetFocusOnError="True"></asp:RegularExpressionValidator>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label id="lblAnswer" runat="server" Text='<%# Eval("PasswordAnswer") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="记录创建时间">
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="lblCreateDate" runat="server" Text='<%# Eval("CreateDate") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="状态">
<EditItemTemplate>
<asp:DropDownList ID="cmbIsApproved_E" runat="server" Height="16px" CssClass="input" SelectedValue='<%# Bind("IsApproved") %>' Width="100px" DataValueField="IsApproved">
<asp:ListItem Text="启用" Value="True"></asp:ListItem>
<asp:ListItem Text="停用" Value="False"></asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="cmbIsApproved" runat="server" CssClass="input" Height="16px" Width="100px" DataValueField="IsApproved" SelectedValue='<%# Bind("IsApproved") %>'>
<asp:ListItem Text="启用" Value="True"></asp:ListItem>
<asp:ListItem Text="停用" Value="False"></asp:ListItem>
</asp:DropDownList>
</InsertItemTemplate>
<ItemStyle Width="380px"></ItemStyle>
<ItemTemplate>
<asp:Label ID="lblIsApproved" runat="server" Text='<%# BindStateFormat(Eval("IsApproved")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Fields>
<FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True"></FieldHeaderStyle>
<HeaderStyle BackColor="#507CD1" ForeColor="White" Font-Bold="True"></HeaderStyle>
<AlternatingRowStyle BackColor="White"></AlternatingRowStyle>
</asp:DetailsView>
<asp:ValidationSummary id="ValidationSummary1" runat="server" ShowSummary="False" ShowMessageBox="True"></asp:ValidationSummary>
</TD>
</TR>
</TABLE>
<asp:ObjectDataSource id="dsoUser" runat="server" SelectMethod="GetUserList" TypeName="UserLib">
<SelectParameters>
<asp:ControlParameter ControlID="txtKey" DefaultValue="" Name="strKey" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:SqlDataSource id="sdcRole" runat="server" SelectCommand="Select * From T_School_Grade Order by ID Asc" ProviderName="<%$ ConnectionStrings:MyConn.ProviderName %>" ConnectionString="<%$ ConnectionStrings:MyConn %>"></asp:SqlDataSource>
<asp:SqlDataSource id="sdcSchool" runat="server" SelectCommand="Select * From T_Subject_Master Order by ID Asc" ProviderName="<%$ ConnectionStrings:MyConn.ProviderName %>" ConnectionString="<%$ ConnectionStrings:MyConn %>"></asp:SqlDataSource>
<asp:ObjectDataSource id="dsoUserDetail" runat="server" SelectMethod="GetUserInfo" TypeName="UserLib" OnSelecting="dsoUserDetail_Selecting">
<SelectParameters>
<asp:ControlParameter ControlID="grvUser" Name="UserID" PropertyName="SelectedValue"
Type="Object" />
</SelectParameters>
</asp:ObjectDataSource>
</asp:Content>
UserLib类函数:GetUserInfo
/// <summary>
/// 根据关键字UserID获取指定ID的用户信息
/// </summary>
/// <param name="UserID"></param>
/// <returns></returns>
public DataSet GetUserInfo(System.Guid UserID)
{
try
{
string strSQL = "Select A.*,B.Email,B.CreateDate,B.IsApproved,B.PasswordQuestion,B.PasswordAnswer,C.Sex,C.RealUserName,D.SchoolName,F.RoleName,F.RoleID From Aspnet_Users A,Aspnet_MemberShip B,T_School_User C,T_School_Master D,Aspnet_UsersInRoles E,Aspnet_Roles F " +
" Where A.UserID=B.UserID And C.UserID=A.UserID And C.SchoolID=D.ID And E.UserID=A.UserID And F.RoleID=E.RoleID And A.UserID='" + UserID.ToString() + "'";
return comDBAccess.SelectSQL(strSQL);
}
catch
{
return null;
}
}