Click here to Skip to main content
15,893,508 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi,
button click in second tab is not working.when i click OK button in second tab ,it redirects to another page(that page should display gridview)

Now the problem is page redirection is happening but it's not displaying gridview.
My database query is correct.(i was checked it by taking the query in debugging)

here is the code:
C#
<pre lang="c#"><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="User.aspx.cs" Inherits="Online_Billing_System.User" %>
<%@ Register Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit" tagPrefix="ajax" %>
<!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>User</title>
    <style type="text/css">
        .style1
        {
            width: 147px;
        }
    </style>
    
</head>
<body>
<form id="form1" runat="server">
<ajax:ToolkitScriptManager ID="scriptmanager1"  runat="server">
    
</ajax:ToolkitScriptManager>
<div style=" width:69%">
<ajax:TabContainer ID="usertabContainer"  runat="server" ActiveTabIndex="1" 
         önactivetabchanged="usertabContainer_ActiveTabChanged" AutoPostBack="true" >
<ajax:TabPanel ID="tbpnlbal"  runat="server" ><HeaderTemplate>View Balance</HeaderTemplate><ContentTemplate><asp:Panel ID="viewbal" runat="server" Width="498px"><table align="center"><tr><td align="right" colspan="2" ></td><td>Account Balance </td></tr><tr><td></td><td align="right" >Member ID: </td><td><asp:TextBox 
        ID="txtusermemid" runat="server"></asp:TextBox></td></tr><tr><td></td><td align="right" >Card ID: </td><td><asp:TextBox 
            ID="txtusercardid" runat="server" ></asp:TextBox></td></tr><tr><td></td><td align="right">Name: </td><td><asp:TextBox 
            ID="txtusername" runat="server"></asp:TextBox></td><td></td>
        <td><asp:Label ID="Label1" runat="server" Text="(Optional)"></asp:Label></td>
    </tr><tr><td></td><td></td><td align="left" ><asp:Button ID="btnbalok" runat="server" Text="OK" onclick="btnbalok_Click"/>
        <asp:Button ID="btnbalcancel" runat="server" Text="Clear" 
       OnClientClick="this.form.reset();return false;"/></td></tr></table></asp:Panel></ContentTemplate></ajax:TabPanel>
<ajax:TabPanel ID="tbpnltxhistory"  runat="server" ><HeaderTemplate>Transaction History</HeaderTemplate><ContentTemplate><asp:Panel ID="txhistory" runat="server" Width="545px"><table align="center"><tr><td align="right" colspan="2" ></td><td>Transaction History </td></tr><tr><td align="right" colspan="2">Member ID: </td><td>
    <asp:TextBox ID="txttxmemid" runat="server"></asp:TextBox></td></tr><tr><td align="right" colspan="2">Card ID: </td><td>
        <asp:TextBox ID="txttxcardid" runat="server"></asp:TextBox></td></tr><tr><td></td><td align="right">From Date: </td><td><asp:TextBox ID="fromdate" runat="server"></asp:TextBox></td> <ajax:CalendarExtender  ID="CalendarExtender1" 
                    TargetControlID="fromdate"  runat="server" PopupButtonID="calendar" 
                    Format="yyyy-MM-dd" Enabled="True"></ajax:CalendarExtender></td></tr><tr><td></td><td align="right">To Date: </td><td><asp:TextBox ID="todate" runat="server"></asp:TextBox></td> <ajax:CalendarExtender  ID="CalendarExtender2" 
                    TargetControlID="todate"  runat="server" PopupButtonID="calendar" 
                    Format="yyyy-MM-dd" Enabled="True"></ajax:CalendarExtender></td></tr><tr><td><asp:Button 
        ID="btnhistoryok" runat="server" Text="OK" colspan="2" align="center" 
        onclick="btnhistoryok_Click" /></td><td><asp:Button ID="btnhistorycancel" 
                runat="server" Text="Clear" OnClientClick="this.form.reset();return false;" /></td></tr></table></asp:Panel></ContentTemplate></ajax:TabPanel>
<ajax:TabPanel ID="tbpnlprofile"  runat="server" ><HeaderTemplate>Profile Setting</HeaderTemplate><ContentTemplate><asp:Panel ID="profile" runat="server" Width="569px"><table align="center"><tr><td></td><td align="right" ></td><td align="center">Profile Settings </td></tr><tr><td></td><td align="right" >Member ID: </td><td>
    <asp:TextBox ID="txtsettingmemid" runat="server"></asp:TextBox></td></tr><tr><td></td><td align="right" >Card ID: </td><td>
        <asp:TextBox ID="txtsettingcardid" runat="server" ></asp:TextBox></td></tr><tr><td></td><td align="right">Name: </td><td>
        <asp:TextBox ID="txtsettingname" runat="server"></asp:TextBox></td></tr> <tr><td></td><td align="right">Date Of Membership: </td><td>
                
                

                
<asp:TextBox ID="txtsettingdate" runat="server"  
       ></asp:TextBox>   </td><td>
                    
 <ajax:CalendarExtender  ID="calendar2" 
                    TargetControlID="txtsettingdate"  runat="server" PopupButtonID="calendar" 
                    Format="yyyy-MM-dd" Enabled="True"></ajax:CalendarExtender></td>
    
                <tr><td></td><td align="right">Opening Balance: </td><td>
                    <asp:TextBox ID="txtsettingopenbal" runat="server"></asp:TextBox></td></tr><tr><td></td><td align="right" >Phone No: </td><td>
            <asp:TextBox ID="txtsettingphone" runat="server"></asp:TextBox></td></tr><tr><td></td><td align="right" >Address: </td><td align="left">
            <asp:TextBox ID="txtsettingaddress" runat="server"></asp:TextBox></td></tr><tr><td></td><td align="right">Password:</td><td align="left">
            <asp:TextBox ID="txtsettingpwd" runat="server"></asp:TextBox></td><td><asp:hyperlink ID="Hyperlink1" runat="server">Edit</asp:hyperlink></td></tr><tr><td></td><td align="right">Confirm Password</td><td align="left">
        <asp:TextBox ID="txtsettingconfirmpwd" runat="server"></asp:TextBox></td></tr></table></asp:Panel></ContentTemplate></ajax:TabPanel>
</ajax:TabContainer>
</div>
    </form>
</body>
</html>


and it's codebehind is:
C#
<pre lang="c#">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;
using MySql.Data.MySqlClient;

namespace Online_Billing_System
{
    public partial class User : System.Web.UI.Page
    {

        String ConnectionString = WebConfigurationManager.ConnectionStrings["myConnectionString"].ToString();
        protected void Page_Load(object sender, EventArgs e)
        {
           
        }

        protected void btnbalok_Click(object sender, EventArgs e)
        {
            if (txtusermemid.Text != "" || txtusercardid.Text != "")
                Response.Redirect("~/Balance.aspx?memberid=" + txtusermemid.Text.Replace("&", "%26") +
                    "&cardid=" + txtusercardid.Text.Replace("&", "%26"));
            else
            {
                Response.Write("<script type='text/javascript'>");
                Response.Write("alert('PLEASE ENTER EITHER MEMBER ID or CARD ID');");
                Response.Write("</script>");


            }
        }

        protected void btnhistoryok_Click(object sender, EventArgs e)
        {
            if (txttxmemid.Text != "" || txttxcardid.Text != "")
                Response.Redirect("~/Transaction.aspx?memberid=" + txttxmemid.Text.Replace("&", "%26") +
                    "&cardid=" + txttxcardid.Text.Replace("&", "%26")+"&fromdate=" +fromdate.Text.Replace("&", "%26") +
                    "&todate=" + todate.Text.Replace("&", "%26"));
            else
            {
                Response.Write("<script type='text/javascript'>");
                Response.Write("alert('PLEASE ENTER DETAILS');");
                Response.Write("</script>");


            }
        }

        protected void usertabContainer_ActiveTabChanged(object sender, EventArgs e)
        {
             string uname = Request.QueryString["UserName"];
            String password = Request.QueryString["Password"];

            if (usertabContainer.ActiveTabIndex == 2)
            {
                using (MySqlConnection con = new MySqlConnection(ConnectionString))
                {
                    String query = "select member_id,card_id,name,date_of_membership,opening_balance,phone_number,address,password,confirm_password from admin where member_id='" + uname + "' ";
                    MySqlCommand command = new MySqlCommand(query, con);
                    con.Open();
                    using (MySqlDataReader rdr = command.ExecuteReader())
                    {
                        if (rdr.Read())
                        {
                            txtsettingmemid.Text = rdr["member_id"].ToString();
                            txtsettingcardid.Text = rdr["card_id"].ToString();
                            txtsettingname.Text = rdr["name"].ToString();
                            txtsettingdate.Text = rdr["date_of_membership"].ToString();
                            txtsettingopenbal.Text = rdr["opening_balance"].ToString();
                            txtsettingphone.Text = rdr["phone_number"].ToString();
                            txtsettingaddress.Text = rdr["address"].ToString();
                            txtsettingpwd.Text = rdr["password"].ToString();
                            txtsettingconfirmpwd.Text = rdr["confirm_password"].ToString();

                        }
                    }
                }
            }
        }

       
    }
}


Transaction.aspx is:
C#
<pre lang="c#"><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Transaction.aspx.cs" Inherits="Online_Billing_System.Transaction" %>

<!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></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="transactionGridView" runat="server" BackColor="#DEBA84" 
            BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3"  
            CellSpacing="2" 
            >
            <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
            <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
            <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
            <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
            <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
            <SortedAscendingCellStyle BackColor="#FFF1D4" />
            <SortedAscendingHeaderStyle BackColor="#B95C30" />
            <SortedDescendingCellStyle BackColor="#F1E5CE" />
            <SortedDescendingHeaderStyle BackColor="#93451F" />
        </asp:GridView>
    </div>
    </form>
</body>
</html>

and codebehind for transaction is:
C#
<pre lang="c#">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;
using MySql.Data.MySqlClient;

namespace Online_Billing_System
{
    public partial class Transaction : System.Web.UI.Page
    {

        String ConnectionString = WebConfigurationManager.ConnectionStrings["myConnectionString"].ToString();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                String memberid = Request.QueryString["memberid"];
                String cardid = Request.QueryString["cardid"];
                String fromdate = Request.QueryString["fromdate"];
                String todate = Request.QueryString["todate"];

                using (MySqlConnection con = new MySqlConnection(ConnectionString))
                {
                    String query = "select member_id,card_id,name,paid_amount,due_amount,paid_date,location,phone_number from transaction where DATE(paid_date)BETWEEN '" + fromdate + "'AND'" + todate + "' ";
                    if (memberid != "")
                    {
                        query = query + " AND " + "member_id=" + "'" + memberid + "' ";
                    }
                    if (cardid != "")
                    {
                        query = query + " OR " + "card_id=" + "'" + cardid + "' ";

                    }
                    

                    MySqlCommand command = new MySqlCommand(query, con);
                    con.Open();
                    using (MySqlDataReader rdr = command.ExecuteReader())
                    {
                        if (rdr.Read())
                        {
                            transactionGridView.DataSource = rdr;
                            transactionGridView.DataBind();
                            transactionGridView.Visible = true;
                        }
                    }
                }
            }
        }

       
    }
}
Posted
Comments
JoCodes 27-Jan-14 6:36am    
Is your query fetching values?
Member 10263519 27-Jan-14 6:47am    
yes it's giving values from database by executing the query in workbench
JoCodes 27-Jan-14 6:50am    
Its entering into the condition rdr.Read() too?
Member 10263519 27-Jan-14 6:52am    
yes , it's entering and executing complete code there is no errors.
Member 10263519 27-Jan-14 6:51am    
code in transaction.aspx.cs get executed ,i observed that by keeping breakpoint. rdr(Data Reader)
is showing HasRows=true.but the gridview is not displaying

Please check like are you getting the Values or not?
If your query fine then please see change something like

C#
using (MySqlDataReader rdr = command.ExecuteReader())
                    {
//But here you will see only last records.So just add all the records in some list or array variable and then add that temp variable to gridview.
                        while (rdr.Read())
                        {
                            transactionGridView.DataSource = rdr.GetString(rdr.GetOrdinal("Your table column names");
                            transactionGridView.DataBind();
                            transactionGridView.Visible = true;
                        }
                    }
 
Share this answer
 
Comments
Member 10263519 27-Jan-14 7:04am    
Could not find specified column in results: member_id,card_id,name,paid_amount,due_amount,paid_date,location,phone_number]

if i keep ur code i got the error as above ,those r my database column names
londhess 27-Jan-14 7:36am    
in your rdr,r u able to read records?
Do one testing like inside sing (MySqlDataReader rdr = command.ExecuteReader()) take one datatable variable

DataTable tmp= new DataTable();

then tmp.Load(rdr);

then just count the number of rows like tmp.Rows.count. Check here r u getting positive count.

If not then your query have some problem.If your getting count then simply assign that data table to gridviewe datasource.
Member 10263519 27-Jan-14 7:53am    
code in transaction.aspx.cs get executed ,i observed that by keeping breakpoint. rdr(Data Reader)
is showing HasRows=true.but the gridview is not displaying
You should add columns to the Gridview or use AutogeneratedColumns property to true to view.

Refer

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.columns(v=vs.110).aspx[^]
 
Share this answer
 
v2
Comments
Member 10263519 27-Jan-14 7:18am    
i have added columns as:

<columns>
<asp:BoundField DataField="member_id" HeaderText="Member ID" ReadOnly="true" />
<asp:BoundField DataField="card_id" HeaderText="Card ID" />
<asp:BoundField DataField="name" HeaderText="Name" />
<asp:BoundField DataField="paid_amount" HeaderText="Paid Amount" />
<asp:BoundField DataField="due_amount" HeaderText="Due Amount" />
<asp:BoundField DataField="paid_date" HeaderText="Paid Date" />
<asp:BoundField DataField="location" HeaderText="Location" />
<asp:BoundField DataField="phone_number" HeaderText="Phone Number" />


but it's not displaying Gridview.plz give a suggestion how to solve it

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900