protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
UpdateLabels();// code moved to a method
}
}
protected void txtSubmit_Click(object sender, System.EventArgs e)
{
// at the end of your code
txtEventType.Text = string.Empty;
txtEventName.Text = string.Empty;
// set all the text boxes empty like above
// update the label values
UpdateLabels();
}
public void UpdateLabels()
{
string strConnString = ConfigurationManager.ConnectionStrings["ProjectConnectionString"].ConnectionString;
string str;
SqlCommand com;
SqlConnection con = new SqlConnection(strConnString);
con.Open();
str = "select * from EVENT_ANNOUNCE where getdate() >= STARTDATE and cast(getdate() as Date) <= ENDDATE";
com = new SqlCommand(str, con);
SqlDataReader reader = com.ExecuteReader();
var events = new List<string>();
if (reader.HasRows)
{
while (reader.Read())
events.Add(reader["EVENTNAME"].ToString());
}
if (events.Count >= 1)
lblEvent1.Text = events[0];
if (events.Count >= 2)
lblEvent2.Text = events[1];
if (events.Count >= 3)
lblEvent3.Text = events[2];
reader.Close();
con.Close();
}
How to refresh all label after inserting data using button
Question
On the left side, I have 3 labels that display the data according to the database. I want to whenever after I type in the data on the textbox and after clicking the submit button, the label will automatically refresh, and display the data. I do not want to click on the browser refresh button to refresh the labels. I only want to refresh the labels. Thanks
After clicking submit button(I do not want to refresh the page as if i refresh the page, the record created text will not be shown.)
After clicking refresh button.
error
MY SOURCE CODE
<table class="style1">
<tr>
<td class="style3">
<asp:Label ID="Label6" runat="server" Text="Event Announcement of the day"
ForeColor="Lime" style="text-decoration: underline" ></asp:Label>
<br />
<asp:Label ID="lblEvent1" runat="server" ForeColor="White"></asp:Label>
<br />
<asp:Label ID="lblEvent2" runat="server" ForeColor="White"></asp:Label>
<br />
<asp:Label ID="lblEvent3" runat="server" ForeColor="White"></asp:Label>
<br />
<br />
<br />
</td>
<td class="style2">
<asp:Label ID="lblEventType" runat="server" Text="Event Type" ForeColor="White"></asp:Label>
<asp:TextBox ID="txtEventType" runat="server"></asp:TextBox>
<br />
<asp:Label ID="lblEventName" runat="server" Text="Event Name" ForeColor="White"></asp:Label>
<asp:TextBox ID="txtEventName" runat="server"></asp:TextBox>
<br />
<asp:Label ID="lblStartDate" runat="server" Text="Start Date" ForeColor="White"></asp:Label>
: <asp:TextBox runat="server" id="txtStartDate" />
<br />
<asp:Label ID="lblEndDate" runat="server" Text="End Date" ForeColor="White"></asp:Label>
<asp:TextBox runat="server" id="txtEndDate" />
<br />
<br />
<br />
<asp:Button ID="txtSubmit" runat="server" onclick="txtSubmit_Click"
Text="Submit" />
</td>
</tr>
MY CODE BEHIND CODE
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string strConnString = ConfigurationManager.ConnectionStrings["ProjectConnectionString"].ConnectionString;
string str;
SqlCommand com;
SqlConnection con = new SqlConnection(strConnString);
con.Open();
str = "select * from EVENT_ANNOUNCE where getdate() >= STARTDATE and cast(getdate() as Date) <= ENDDATE";
com = new SqlCommand(str, con);
SqlDataReader reader = com.ExecuteReader();
var events = new List<string>();
if (reader.HasRows)
{
while (reader.Read())
events.Add(reader["EVENTNAME"].ToString());
}
if (events.Count >= 1)
lblEvent1.Text = events[0];
if (events.Count >= 2)
lblEvent2.Text = events[1];
if (events.Count >= 3)
lblEvent3.Text = events[2];
reader.Close();
con.Close();
}
}
private void insertEventRecord(string eventtype, string eventname, DateTime startdate, DateTime enddate)
{
try
{
string strConnectionString = ConfigurationManager.ConnectionStrings["ProjectConnectionString"].ConnectionString;
SqlConnection myConnect = new SqlConnection(strConnectionString);
string strCommandText = "INSERT EVENT_ANNOUNCE(EVENTTYPE, EVENTNAME, STARTDATE, ENDDATE) Values(@EVENTTYPE, @EVENTNAME, @STARTDATE, @ENDDATE)";
SqlCommand cmd = new SqlCommand(strCommandText, myConnect);
cmd.Parameters.AddWithValue("@EVENTTYPE", eventtype);
cmd.Parameters.AddWithValue("@EVENTNAME", eventname);
cmd.Parameters.AddWithValue("@STARTDATE", startdate);
cmd.Parameters.AddWithValue("@ENDDATE", enddate);
myConnect.Open();
int result = cmd.ExecuteNonQuery();
if (result > 0)
{
lblSuccess.Visible = true;
lblSuccess.Text = "Record Created";
lblError.Visible = false;
bindEventGridView();
}
else
{
lblError.Visible = true;
lblError.Text = "Create Fail";
lblSuccess.Visible = false;
}
myConnect.Close();
}
catch (Exception)
{
lblError.Visible = true;
lblError.Text = "Please enter correct data";
lblSuccess.Visible = false;
}
}
protected void txtSubmit_Click(object sender, System.EventArgs e)
{
string eventtype = Convert.ToString(txtEventType.Text);
string eventname = Convert.ToString(txtEventName.Text);
string startdate = Convert.ToString(txtStartDate.Text);
string enddate = Convert.ToString(txtEndDate.Text);
DateTime datStartDate;
DateTime datEndDate;
if (DateTime.TryParseExact(startdate, new string[] { "dd/MM/yyyy" },
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None, out datStartDate)
&& (DateTime.TryParseExact(enddate, new string[] { "dd/MM/yyyy" },
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None, out datEndDate)))
{
insertEventRecord(eventtype, eventname, datStartDate, datEndDate);
System.Threading.Thread.Sleep(5000);
}
else
{
lblError.Visible = true;
lblError.Text = "Invalid Date";
lblSuccess.Visible = false;
}
}
La solution
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow