0

我有以下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.updateAWeb 方法需要哪些text是文本框中的原始文本,newText哪些是触发更改事件后的文本。

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

SQL是 -

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

1 回答 1

0

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

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

如果知道旧值很重要,您应该使用ViewState.

参考:如何:在视图状态中保存值

于 2013-01-25T11:05:04.220 回答