文本框在回发后丢失值(ASP - C#)

时间:2014-07-09 20:55:21

标签: c# asp.net

我在更新文本框时遇到了困难,可以真正使用一些帮助。基本上,我有一个弹出式面板供用户选择一个值,然后我将其填充到某个文本框中。

我确信这个问题要么解决得非常简单,要么我对回复实际上做的事情感到困惑。以下是我的代码的信息:

    protected void grvSearchRecords_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (string.Compare(e.CommandName, "EditRow", true) == 0)
        {
            long nMagic2Value = Convert.ToInt64(e.CommandArgument);
            string tmp = GetItem(nMagic2Value, currentTableName);
            textBox1.Text = tmp;
            Debug.WriteLine(textBox1.Text.ToString());
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "SearchRecords", "$(document).ready(function(){ $('#mask, #divSearchRecordsGrid').fadeOut(\"fast\"); });", true);
        }
    }

" tmp"变量获取我需要的值并将其分配给文本框。

然后我运行一个Debug语句并确认该值已正确分配给该框。但是,一旦函数结束,该指定的值就会丢失,并且文本框永远不会填充新值。

2 个答案:

答案 0 :(得分:2)

围绕回复检查包裹您的代码

if (!IsPostBack)
{
//your code here
}

这将确保您的代码在回发后不会运行,因此您的textBox将不会被清除。

回发意味着页面第一次没有呈现,例如页面刷新。

答案 1 :(得分:0)

好的,我刚刚开始工作了。我试图更改的文本框是Content标记的一部分,没有别的。我将它包含在UpdatePanel中并为我的GridView添加了一个触发器,现在它可以工作了!

学习新语言的乐趣。