C# 将数据返回到文本框而不回发

C# 将数据返回到文本框而不回发,c#,asp.net,sqldatareader,C#,Asp.net,Sqldatareader,我有一个表格,它有一个参考号和一个注释字段。大概是这样的: Ref 注释 在我的数据库中,我有多行: 1234 |注1 | 20/03/2013 18:44 1234 |注2 | 20/03/2013 18:45 我想在我的文本框中显示最近的注释。但我也需要显示参考编号 我可以做到: SqlConnection Conn = new SqlConnection(Connection_String); SqlCommand Comm1 = new SqlCommand(Command, Conn)

我有一个表格,它有一个参考号和一个注释字段。大概是这样的:

Ref
注释

在我的数据库中,我有多行:

1234 |注1 | 20/03/2013 18:44
1234 |注2 | 20/03/2013 18:45

我想在我的文本框中显示最近的注释。但我也需要显示参考编号

我可以做到:

SqlConnection Conn = new SqlConnection(Connection_String);
SqlCommand Comm1 = new SqlCommand(Command, Conn);
Conn.Open();
SqlDataReader DR1 = Comm1.ExecuteReader();
if (DR1.Read())
{
    textBox.Text = DR1.GetValue(0).ToString();
}
Conn.Close();

但是,有没有一种更优雅的解决方案允许我在每条记录之间单击而不回发?

如果您要避免完全回发,那么您将使用的是
Ajax
(异步JavaScript和XML的缩写)

你有两个流行的选择

  • 使用
    ASP.Net
    框架附带的Microsoft Ajax实现,并使用
    UpdatePanel
    和其他控件
  • 使用jQuery Ajax
  • 如果您对jQuery库和jQuery中使用的数据结构有一些了解,那么最好使用更易于使用的jQueryAjax

    编写常规AJAX代码可能有点棘手,因为不同的浏览器有不同的AJAX实现语法。这意味着您必须编写额外的代码来测试不同的浏览器。然而,jQuery团队已经为我们解决了这一问题,因此我们只需一行代码就可以编写AJAX功能

    参考资料


    如果不想回发,可以使用异步回发,文本框位于UpdatePanel中。但是我讨厌更新面板,所以你可以用ajax来做这件事。你可能想把记录存储在下拉列表中。。还应尽量避免使用诸如
    DR1.GetValue(0.ToString()之类的结构
    您最好改用
    (string)DR1[“FieldName”]
    。。如果数据库的顺序/结构发生变化怎么办。。此外,它还将有助于查看准确的查询,以便您可以按日期Desc或Asc订购。。另外,用于部分回发的更新面板也很有用,或者可以使用javascript uu DoPostBack作为well@dotnetom,你能推荐一篇好文章吗?jQuery Ajax