使用新字符串更新数据表

时间:2013-01-25 10:50:04

标签: c# asp.net web-services onchange

我有以下TextChanged事件 -

 protected void DataList1_SelectedTextChanged(object sender, EventArgs e)
    {
        TextBox chk = (TextBox)sender;
        DataListItem item = (DataListItem)chk.NamingContainer;

        TextBox txt = (TextBox)DataList1.Items[item.ItemIndex].FindControl("aTextBox");
        string text = txt.Text;

        WebService1 ws = new WebService1();
        ws.updateA(text, newText)

    }

ws.updateA网络方法需要text这是文本框中的原始文本,而newText是更改后的事件被触发后的文本。

我的问题是如何区分原始文本和在web方法中使用的newText,因为方法是用新文本更新数据表使用原始文件进行更新?

SQL是 -

UPDATE table SET term='" + newText + "' WHERE termText= '" + text + "'

1 个答案:

答案 0 :(得分:0)

您应该使用主键来标识要更新的行。在where子句中通过文本字符串更新不是一个好习惯。

在触发SelectedTextChanged事件时,控件的旧值会在页面生命周期中被长时间覆盖。

如果了解旧值至关重要,则应使用ViewState在PostBacks中保留。

参考:How to: Save Values in View State