C# 使用HTML元素更新查询字符串并重新加载页面上的内容

C# 使用HTML元素更新查询字符串并重新加载页面上的内容,c#,jquery,html,ajax,C#,Jquery,Html,Ajax,此代码的目标是通过单击表数据动态更新网站。命令字符串有变量章节,我只想更新和重新加载gridview protected void Page_Load(object sender, EventArgs e) { string masterfile = "C://Temp/List of Validations.xlsx"; string CS = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + masterfile + ";Extended

此代码的目标是通过单击表数据动态更新网站。命令字符串有变量章节,我只想更新和重新加载gridview

protected void Page_Load(object sender, EventArgs e)
{
string masterfile = "C://Temp/List of Validations.xlsx";
string CS = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + masterfile + ";Extended Properties=Excel 12.0;";
using (OleDbConnection con = new OleDbConnection(CS))
{
con.Open();
    OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Validation$] where chapter = @chapter", con);
//How to Dynamically assign this ch variable using the value table data text(01, 02, 03) and reload the contents in the gridview1.  
    cmd.Parameters.AddWithValue("@chapter", ch)
    using (OleDbDataReader rdr = cmd.ExecuteReader())
{
             DataTable mastertable = new DataTable();
               mastertable.Columns.Add("Chapter");
               mastertable.Columns.Add("Section");
}
etc...
GridView1.DataSource = mastertable;
GridView1.DataBind();
}
下面是我使用服务器对象所做的测试,效果很好

public OleDbConnection connectionobject() {
connection object code 
return con;
}
public OleDbCommand commandobject(OleDbConnection con, int ch) {
command object code
return cmd;
}
protected void Button1_Click(object sender, EventArgs e)
{
int ch = Convert.ToInt32(TextBox1.Text);
OleDbConnection con;
con = connectionobject();
OleDbCommand cmd;
cmd = commandobject(con, ch);
con.Open();
using (OleDbDataReader rdr = cmd.ExecuteReader())
{
GridView3.DataSource = rdr;
GridView3.DataBind();
}

您将无法更改查询字符串本身-这将重新加载整个页面。但是,您可以更新散列,然后从散列中读取。我以前试过,发现这并不困难,但如果像我这样,你必须在有JS或没有JS的情况下提供数据,那就需要做更多的工作。下面是我刚刚用命令对象和文本框做的工作测试,它工作得很好,但是使用table它根本不起作用。