Hello all,
I have no experience of ASP.Net or C#. I have inherited an ASP.Net membership system that requires one small change. (See attached code).
At the top of the page there is a textbox which displays a value of the number of records for those marked as "Student" The database however distinguishes between whether a student "IsApproved" or not. I would like the textbox above to show only those who fall into the "IsApproved" category, no others. Presently it displays a global total.
Any help appreciated.
Thanks,
Mart
<%@ Page Title="CYCANL - Update Member Details" Language="C#" MasterPageFile="../template/CYCANL-admin.master" AutoEventWireup="true" CodeFile="UpdateMember-totals.aspx.cs" Inherits="admin_UpdateMember" %><%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %><asp:Content ID="Content1" Runat="Server" ContentPlaceHolderID="head"></asp:Content><asp:Content ID="Content2" Runat="Server" ContentPlaceHolderID="Content"><h1> Student Member listing</h1> Total:<asp:TextBox ID="TextBox1" runat="server" BorderStyle="None" Font-Names="Arial" Font-Size="Large" ForeColor="#EC3237"></asp:TextBox> <p class="line"></p><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:UpdateDetailsConnectionString %>" OnSelected="SqlDataSource1_Selected" DeleteCommand="DELETE FROM [UserProfiles] WHERE [UserId] = @UserId" InsertCommand="INSERT INTO [UserProfiles] ([UserId], [Surname], [FirstName], [Organisation], [Address1], [Address2], [Postcode], [MemberType], [DateLastPaid], [Comments]) VALUES (@UserId, @Surname, @FirstName, @Organisation, @Address1, @Address2, @Postcode, @MemberType, @DateLastPaid, @Comments)" SelectCommand="SELECT dbo.UserProfiles.UserId, dbo.UserProfiles.Surname, dbo.UserProfiles.FirstName, dbo.UserProfiles.Organisation, dbo.UserProfiles.Address1, dbo.UserProfiles.Address2, dbo.UserProfiles.Postcode, dbo.UserProfiles.MemberType, dbo.UserProfiles.DateLastPaid, dbo.UserProfiles.Comments, dbo.UserProfiles.DateLastReminder, dbo.aspnet_Users.UserName, dbo.aspnet_Membership.IsApproved FROM dbo.UserProfiles INNER JOIN dbo.aspnet_Users ON dbo.UserProfiles.UserId = dbo.aspnet_Users.UserId INNER JOIN dbo.aspnet_Membership ON dbo.aspnet_Users.UserId = dbo.aspnet_Membership.UserId WHERE dbo.UserProfiles.MemberType = 'Student' ORDER BY dbo.UserProfiles.Surname" UpdateCommand="UPDATE [UserProfiles] SET [Surname] = @Surname, [FirstName] = @FirstName, [Organisation] = @Organisation, [Address1] = @Address1, [Address2] = @Address2, [Postcode] = @Postcode, [MemberType] = @MemberType, [DateLastPaid] = @DateLastPaid, [Comments] = @Comments WHERE [UserId] = @UserId"><DeleteParameters><asp:Parameter Name="UserId" Type="Object" /></DeleteParameters><InsertParameters><asp:Parameter Name="UserId" Type="Object" /><asp:Parameter Name="Surname" Type="String" /><asp:Parameter Name="FirstName" Type="String" /><asp:Parameter Name="Organisation" Type="String" /><asp:Parameter Name="Address1" Type="String" /><asp:Parameter Name="Address2" Type="String" /><asp:Parameter Name="Postcode" Type="String" /><asp:Parameter Name="MemberType" Type="String" /><asp:Parameter DbType="Date" Name="DateLastPaid" /><asp:Parameter Name="Comments" Type="String" /></InsertParameters><UpdateParameters><asp:Parameter Name="Surname" Type="String" /><asp:Parameter Name="FirstName" Type="String" /><asp:Parameter Name="Organisation" Type="String" /><asp:Parameter Name="Address1" Type="String" /><asp:Parameter Name="Address2" Type="String" /><asp:Parameter Name="Postcode" Type="String" /><asp:Parameter Name="MemberType" Type="String" /><asp:Parameter DbType="Date" Name="DateLastPaid" /><asp:Parameter Name="Comments" Type="String" /><asp:Parameter Name="UserId" Type="Object" /></UpdateParameters></asp:SqlDataSource><asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true"><ContentTemplate><asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="UserId" DataSourceID="SqlDataSource1" CellPadding="3" CellSpacing="3" OnRowCommand="GridView1_OnRowCommand" GridLines="None" Width="100%" CssClass="smalltext"><AlternatingRowStyle BackColor="#DEDCEF" /><Columns><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="No."><ItemTemplate><asp:Label ID="lblUserName" runat="server" Text='<%# Eval("UserName") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Surname" SortExpression="Surname"><EditItemTemplate><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Surname") %>' BorderStyle="None" Width="55px" CssClass="EditTextBox"></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="Label1" runat="server" Text='<%# Bind("Surname") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Name" SortExpression="FirstName"><EditItemTemplate><asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("FirstName") %>' BorderStyle="None" Width="55px" CssClass="EditTextBox"></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="Label2" runat="server" Text='<%# Bind("FirstName") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Organisation" SortExpression="Organisation"><EditItemTemplate><asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Organisation") %>' BorderStyle="None" Width="200px" CssClass="EditTextBox"></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="Label3" runat="server" Text='<%# Bind("Organisation") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Address 1" SortExpression="Address1"><EditItemTemplate><asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Address1") %>' BorderStyle="None" Width="100px" CssClass="EditTextBox"></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="Label4" runat="server" Text='<%# Bind("Address1") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Address 2" SortExpression="Address2"><EditItemTemplate><asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("Address2") %>' BorderStyle="None" Width="100px" CssClass="EditTextBox"></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="Label5" runat="server" Text='<%# Bind("Address2") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Postcode" SortExpression="Postcode"><EditItemTemplate><asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("Postcode") %>' BorderStyle="None" Width="50px" CssClass="EditTextBox"></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="Label6" runat="server" Text='<%# Bind("Postcode") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Type" SortExpression="MemberType"><EditItemTemplate><asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("MemberType") %>' BorderStyle="None" Width="45px" CssClass="EditTextBox"></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="Label7" runat="server" Text='<%# Bind("MemberType") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Last Paid" SortExpression="DateLastPaid"><EditItemTemplate><asp:TextBox ID="TextBox8" runat="server" Text='<%# Bind("DateLastPaid", "{0:MM/dd/yyyy}") %>' BorderStyle="None" Width="65px" TextMode="Date" CssClass="EditTextBox"></asp:TextBox><asp:CalendarExtender ID="DateLastPaid_CalendarExtender" runat="server" Enabled="True" TargetControlID="TextBox8" Format="MM/dd/yyyy"></asp:CalendarExtender></EditItemTemplate><ItemTemplate><asp:Label ID="Label8" runat="server" Text='<%# Bind("DateLastPaid", "{0:MM/dd/yyyy}") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Comments" SortExpression="Comments"><EditItemTemplate><asp:TextBox ID="TextBox9" runat="server" Text='<%# Bind("Comments") %>' BorderStyle="None" CssClass="EditTextBox"></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="Label9" runat="server" Text='<%# Bind("Comments") %>'></asp:Label></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Active"><ItemTemplate><asp:CheckBox ID="chkIsApproved" runat="server" Checked='<%# Eval("IsApproved") %>'></asp:CheckBox></ItemTemplate><HeaderStyle HorizontalAlign="Left" /></asp:TemplateField><asp:TemplateField ShowHeader="False"><EditItemTemplate><asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Update" Text="Update" Font-Italic="True"></asp:LinkButton> <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" Font-Italic="True"></asp:LinkButton></EditItemTemplate><ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit" Text="Edit" Font-Italic="True"></asp:LinkButton> <asp:LinkButton ID="LinkButton2" runat="server" onclientclick="return confirm('Are you sure you want to delete this member?');" CommandName="Delete" Text="Delete" Font-Italic="True" ></asp:LinkButton> <asp:LinkButton ID="LinkButton3" runat="server" CommandName="ChangeStatus" CommandArgument='<%# Eval("UserId") %>' Text="Change Status" Font-Italic="True"></asp:LinkButton> <asp:HyperLink ID="LinkButton4" runat="server" NavigateUrl='<%# "UpdateMemberEmail.aspx?id=" + Eval("UserId") %>' Text="Edit Email" Font-Italic="True"></asp:HyperLink></ItemTemplate></asp:TemplateField></Columns><HeaderStyle BackColor="#003366" ForeColor="White" BorderColor="White" BorderStyle="None" /><PagerSettings Mode="NumericFirstLast" PageButtonCount="15" FirstPageText="First Page" LastPageText="Last Page" NextPageText="Next Page" PreviousPageText="Previous Page" /><PagerStyle BackColor="#F3F3F3" Wrap="False" CssClass="Pager" /></asp:GridView></ContentTemplate></asp:UpdatePanel> </asp:Content>
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; public partial class admin_UpdateMember : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e) { TextBox1.Text = e.AffectedRows.ToString(); } protected void GridView1_OnRowCommand(object sender, GridViewCommandEventArgs e) { switch (e.CommandName) { case "ChangeStatus": Guid userId = Guid.Parse(e.CommandArgument.ToString()); try { string connectionString = ConfigurationManager.ConnectionStrings["UpdateDetailsConnectionString"].ConnectionString; string com ="UPDATE aspnet_Membership SET IsApproved=~IsApproved WHERE UserId=@UserId"; using (var myConnection = new SqlConnection(connectionString)) { myConnection.Open(); var myCommand = new SqlCommand(com, myConnection); myCommand.Parameters.Add("@UserId", userId); myCommand.ExecuteNonQuery(); myConnection.Close(); } GridView1.DataBind(); } catch (Exception ex) { Logger.Log(ex, "Memeber deactivation"); } break; } } }