【问题标题】:How to refresh all label after inserting data using button使用按钮插入数据后如何刷新所有标签
【发布时间】:2014-03-31 09:15:24
【问题描述】:

在左侧,我有 3 个标签,根据数据库显示数据。我想每当我在文本框中输入数据并单击提交按钮后,标签会自动刷新并显示数据。我不想单击浏览器刷新按钮来刷新标签。我只想刷新标签。谢谢

点击提交按钮后(我不想像刷新页面一样刷新页面,记录创建的文本不会显示。)

点击刷新按钮后。

错误

我的源代码

<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>
            &nbsp;<asp:TextBox runat="server" id="txtEndDate" />
            &nbsp;<br />
            <br />
            <br />
            <asp:Button ID="txtSubmit" runat="server" onclick="txtSubmit_Click" 
                Text="Submit" />
        </td>
    </tr>

我的代码隐藏在代码中

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;
    }
}

【问题讨论】:

    标签: c# webforms insert label refresh


    【解决方案1】:
    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();
    }
    

    【讨论】:

    • @Jordjmax 你需要创建一个名为 UpdateLabels() 的新方法,你还没有阅读 cmets
    猜你喜欢
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 2021-10-24
    • 2015-02-02
    • 2013-12-02
    • 2022-11-11
    • 2013-07-21
    相关资源
    最近更新 更多