【问题标题】:Remove the text from label after submitting data to database将数据提交到数据库后从标签中删除文本
【发布时间】:2013-09-21 04:20:34
【问题描述】:

我在按钮单击事件中有此代码。问题是我想在每次文本框得到验证和提交时显示文本“线程已成功添加”,并希望在提交后清除该标签。有什么办法吗?

protected void BtnThread_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            LabelThread.ForeColor = System.Drawing.Color.Purple;
            LabelThread.Text = "Thread has been added successfully";
        }

        else
        {

            LabelThread.Text = "Thread couldnot not be added";

        }

        Thread obj = new Thread();
        obj.Insert_thread = TxtBoxThread.Text;

        int j = obj.insertmethod();

        TxtBoxThread.Text = "";

【问题讨论】:

  • 你使用的是什么线程类? System.Threading.Thread() 不接受 0 个参数。似乎您正在尝试访问不在主 UI 线程中的线程上的控件。按钮是否正在回发?如果是这样,标签应该更新。
  • 我创建了自己的线程类,可以将数据插入数据库
  • 您收到错误消息吗?是要清除的标签还是文本框?看起来没问题,直到它到达您的自定义线程对象。如果是这样,也许您应该发布您的自定义线程代码。
  • 我没有收到任何错误。只是我只想在提交数据并将其添加到数据库时才在标签中显示文本。添加数据后,它会在标签上显示消息并清除文本框。但是下次当用户没有在文本框中提供任何数据时,我希望该标签不显示消息“线程已成功添加”。
  • 公共类线程 { Clssqlconnection obj = new Clssqlconnection();公共字符串 Insert_thread { 获取;放; } public int insertmethod() { obj.str = @"插入 [Add_thread] (Insert_thread)" + "values('" + Insert_thread + "')";返回 obj.ExecuteNonQuery(); } } }

标签: asp.net forms submit


【解决方案1】:

尝试写入没有 ViewState 的元素。我相信它的内容不会在回发后持续存在,只会在设置后立即出现。

ASPX:

<div id="MessageBox" runat="server"></div>

在您的 BtnThread_Click 事件中:

MessageBox.InnerText = "Thread has been added successfully";

【讨论】:

    【解决方案2】:
    protected void Page_Load(object sender, EventArgs e)
    {
      if (!IsPostBack)
       {
    
        }
       LabelThread.Text = String.Empty;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 1970-01-01
      相关资源
      最近更新 更多