Hi Team,
I have designed the page .I the page i have one button book so what i need when i click book button all the selected items should get stored in database table.
Here the fields are saving as null in database. The fields are appntid, date, button text. All the three fields i have declare as global variable at the top of all function but still it’s getting null values.
<body>
<form id="form1" runat="server">
<div>
<center>
<table>
<tr>
<th colspan="2"><span style="font: 200;"><u>New Booking</u></span></th>
</tr>
<tr>
<td>Appointment Id:
</td>
<td>
<asp:TextBox ID="txtAppointmentId" runat="server" ReadOnly="true"></asp:TextBox></td>
</tr>
<tr>
<td>Category:
</td>
<td>
<asp:DropDownList ID="ddlCategory" runat="server" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="ddlCategory_SelectedIndexChanged">
<asp:ListItem Text="---Select Category---" Value=""></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td>Doctor:
</td>
<td>
<asp:DropDownList ID="ddlDoctorUsers" runat="server" AutoPostBack="true" AppendDataBoundItems="true">
<asp:ListItem Text="---Select Doctor---" Value=""></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="2">Date:<br />
<asp:Calendar ID="calDate" runat="server" OnSelectionChanged="calDate_SelectionChanged"></asp:Calendar>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="btnCheck" runat="server" Text="Check" OnClick="btnCheck_Click" />
</td>
</tr>
</table>
</center>
<center>
<table>
<tr>
<td>
<asp:Panel ID="pnlapptbtn" runat="server">
<asp:Button ID="btn9to10" runat="server" Text="9.00-10.00" OnClick="Submit" />
<asp:Button ID="btn10to1030" runat="server" Text="10.00-10.30" OnClick="Submit" />
<asp:Button ID="btn1030to11" runat="server" Text="10.30-11.00" OnClick="Submit" />
<asp:Button ID="btn11to12" runat="server" Text="11.00-12.00" OnClick="Submit" />
<asp:Button ID="btn12to01" runat="server" Text="12.00-01.00" OnClick="Submit" />
<asp:Button ID="btn01to02" runat="server" Text="01.00-02.00" OnClick="Submit" />
<asp:Button ID="btn03to04" runat="server" Text="03.00-04.00" OnClick="Submit" />
</asp:Panel>
</td>
</tr>
<tr>
<td>
<asp:Panel ID="pnlapptbtn1" runat="server">
<asp:Button ID="btn04to05" runat="server" Text="04.00-05.00" OnClick="Submit" />
<asp:Button ID="btn05to06" runat="server" Text="05.00-06.00" OnClick="Submit" />
<asp:Button ID="btn06to630" runat="server" Text="06.00-06.30" OnClick="Submit" />
<asp:Button ID="btn07to08" runat="server" Text="07.00-08.00" OnClick="Submit" />
<asp:Button ID="btn08to09" runat="server" Text="08.00-09.00" OnClick="Submit" />
<asp:Button ID="btn09to10" runat="server" Text="09.00-10.00" OnClick="Submit" />
<asp:Button ID="btn0to04" runat="server" Text="03.00-04.00" OnClick="Submit" />
</asp:Panel>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="btnBook" runat="server" Text="Book" OnClick="SaveBookingDetails" />
</td>
</tr>
</table>
</center>
</div>
</form>
</body>
public partial class UsersBooking : System.Web.UI.Page
{
string appointmentId;
string date;
string btns;
//private Button lastButton;
// String Property to store the LastButtonId.
private string LastButtonId
{
get
{
return ViewState["LastButtonId"] != null ? (string)ViewState["LastButtonId"] : "";
}
set
{
ViewState["LastButtonId"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string CustId = "";
pnlapptbtn.Visible = false;
pnlapptbtn1.Visible = false;
CustId = Request.QueryString["CustId"];
txtAppointmentId.Text = CustId;
appointmentId = txtAppointmentId.Text;
//ddlCategory.Items.Add(new ListItem("--Select Category", ""));
this.BindDropdown();
}
}
private void BindDropdown()
{
string conString = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(conString))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT Category,Did FROM DoctorDetails";
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
ddlCategory.DataSource = dt;
ddlCategory.DataTextField = "Category";
ddlCategory.DataValueField = "Did";
ddlCategory.DataBind();
}
}
protected void ddlCategory_SelectedIndexChanged(object sender, EventArgs e)
{
ddlDoctorUsers.Items.Clear();
ddlDoctorUsers.Items.Add(new ListItem("--Select Doctor", "-1"));
string conString = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(conString))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT Name,Did FROM DoctorDetails WHERE Did=@Did";
cmd.Parameters.AddWithValue("@Did", ddlCategory.SelectedItem.Value);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
ddlDoctorUsers.DataSource = dt;
ddlDoctorUsers.DataTextField = "Name";
ddlDoctorUsers.DataValueField = "Did";
ddlDoctorUsers.DataBind();
if (ddlCategory.Items.Count > 1)
{
ddlDoctorUsers.Enabled = true;
}
else
{
ddlDoctorUsers.Enabled = false;
}
}
}
protected void btnCheck_Click(object sender, EventArgs e)
{
pnlapptbtn.Visible = true;
pnlapptbtn1.Visible = true;
}
protected void calDate_SelectionChanged(object sender, EventArgs e)
{
date = calDate.SelectedDate.ToString("dd/MM/yyy");
}
protected void Submit(object sender, EventArgs e)
{
// Change the background color of the button that was clicked
Button current = (Button)sender;
current.BackColor = Color.GreenYellow;
btns = current.Text;
// Check if string Property LastButtonId value is not null or empty.
if (!string.IsNullOrEmpty(LastButtonId))
{
bool isLastButtonchecked = false;
foreach (Button button in this.pnlapptbtn.Controls.OfType<Button>())
{
if (button.ID == LastButtonId)
{
// color which you want to set to button.
button.BackColor = System.Drawing.Color.Empty;
isLastButtonchecked = true;
break;
}
}
if (!isLastButtonchecked)
{
foreach (Button button in this.pnlapptbtn1.Controls.OfType<Button>())
{
if (button.ID == LastButtonId)
{
// color which you want to set to button.
button.BackColor = System.Drawing.Color.Empty;
break;
}
}
}
}
// Set current Button Id to Property LastButtonId.
LastButtonId = current.ID;
}
protected void SaveBookingDetails(object sender, EventArgs e)
{
string conString = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "Users_AddUsersBookingDetails";
cmd.Parameters.AddWithValue("@AppntId", appointmentId);
cmd.Parameters.AddWithValue("@Category", ddlCategory.SelectedItem.Text);
cmd.Parameters.AddWithValue("@Doctor", ddlDoctorUsers.SelectedItem.Text);
cmd.Parameters.AddWithValue("@AppntDate", date);
cmd.Parameters.AddWithValue("@AppntTime", btns);
con.Open();
cmd.ExecuteNonQuery();
}
}
}
}