C# DataGrid每次使用jquery自动生成列
我有一个ASP.net网站,其中有一个名为DisplayPersons的方法,该方法列出了数据库中的所有人员。当我点击ShowUsers按钮时,它调用DisplayPersons函数并将数据绑定到gridview,工作正常。当我第二次单击按钮时,它会通过重复数据将数据复制到网格视图中。 我想要的是,如果单击ShowUsers按钮,它只需要显示数据库中存在的数据,而不管单击多少次。请帮忙。请忽略其他功能 ASPX:C# DataGrid每次使用jquery自动生成列,c#,jquery,asp.net,C#,Jquery,Asp.net,我有一个ASP.net网站,其中有一个名为DisplayPersons的方法,该方法列出了数据库中的所有人员。当我点击ShowUsers按钮时,它调用DisplayPersons函数并将数据绑定到gridview,工作正常。当我第二次单击按钮时,它会通过重复数据将数据复制到网格视图中。 我想要的是,如果单击ShowUsers按钮,它只需要显示数据库中存在的数据,而不管单击多少次。请帮忙。请忽略其他功能 ASPX: 函数SavePersonRecord(){ 变量名称=$.trim($('#')
函数SavePersonRecord(){
变量名称=$.trim($('#').val());
var LName=$.trim($('#').val());
var Messege=“”;
如果(名称=“”){
Messege=“FirstName为空”;
}
如果(LName=''){
Messege+=“姓氏为空”;
}
如果(Messege.length==0){
$.ajax({
类型:“POST”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
url:“Default.aspx/InsertPersonRecord”,
数据:“{'Name':'“+Name+”,'LName':'“+LName+”}”,
成功:功能(记录){
$('#txtName').val();
$('#txtLastName').val();
if(Record.d==true){
$(“#结果”).text(“您的记录已成功插入”);
$('#txtName').val('');
$('#txtLastName').val('');
}
否则{
$(“#结果”).text(“未插入您的记录”);
}
},
错误:函数(textMsg){
$(“#结果”).text(“错误:+错误);
}
});
}
否则{
$('#Result').html('');
$('#Result').html(Messege);
}
$(“#结果”).fadeIn();
}
函数DisplayPersons(){
//文件。填写(“a”);
$(“#gvData”).val(“”);
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“Default.aspx/BindUsers”,
数据:“{}”,
数据类型:“json”,
成功:功能(结果){
对于(变量i=0;i
CS文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System.Web.Services;
public partial class _Default : System.Web.UI.Page
{
static string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
static List<Users> allUsers;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindToGrid();
}
}
[WebMethod]
public static bool InsertPersonRecord(string Name, string LName)
{
bool InsertData;
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("sp_PersonData", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@FName", Name);
cmd.Parameters.AddWithValue("@LName", LName);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
int Result = cmd.ExecuteNonQuery();
if (Result > 0)
{
InsertData = true;
}
else
{
InsertData = false;
}
return InsertData;
}
}
}
[WebMethod]
public static List<Users> BindUsers()
{
DataTable dt = new DataTable();
allUsers = new List<Users>();
allUsers.Clear();
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand command = new SqlCommand("select FirstName, LastName from Users Order By FirstName", con))
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(dt);
foreach (DataRow dtrow in dt.Rows)
{
Users users = new Users();
users.FirstName = dtrow["FirstName"].ToString();
users.LastName = dtrow["LastName"].ToString();
allUsers.Add(users);
}
}
}
return allUsers;
}
[WebMethod]
public static List<Users> Search(string term)
{
//List<Users> result = new List<Users>();
return allUsers.FindAll(x => x.FirstName.Contains("term"));
}
public void BindToGrid()
{
DataTable dt = new DataTable();
dt.Columns.Add("FirstName");
dt.Columns.Add("LastName");
gvData.DataSource = dt;
gvData.DataBind();
}
}
public class Users
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用系统配置;
使用System.Data.SqlClient;
使用系统数据;
使用System.Web.Services;
公共部分类\u默认值:System.Web.UI.Page
{
静态字符串构造=ConfigurationManager.ConnectionString[“constr”].ConnectionString;
静态列表;
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
BindToGrid();
}
}
[网络方法]
公共静态bool InsertPersonRecord(字符串名称、字符串名称)
{
布尔插入数据;
使用(SqlConnection con=新的SqlConnection(consting))
{
使用(SqlCommand cmd=newsqlcommand(“sp_PersonData”,con))
{
cmd.CommandType=CommandType.storedProcess;
cmd.Parameters.AddWithValue(“@FName”,Name);
cmd.Parameters.AddWithValue(“@LName”,LName);
if(con.State==ConnectionState.Closed)
{
con.Open();
}
int Result=cmd.ExecuteNonQuery();
如果(结果>0)
{
InsertData=true;
}
其他的
{
InsertData=false;
}
返回InsertData;
}
}
}
[网络方法]
公共静态列表BindUsers()
{
DataTable dt=新的DataTable();
allUsers=新列表();
诱惑者;
使用(SqlConnection con=新的SqlConnection(consting))
{
使用(SqlCommand=newsql
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System.Web.Services;
public partial class _Default : System.Web.UI.Page
{
static string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
static List<Users> allUsers;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindToGrid();
}
}
[WebMethod]
public static bool InsertPersonRecord(string Name, string LName)
{
bool InsertData;
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("sp_PersonData", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@FName", Name);
cmd.Parameters.AddWithValue("@LName", LName);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
int Result = cmd.ExecuteNonQuery();
if (Result > 0)
{
InsertData = true;
}
else
{
InsertData = false;
}
return InsertData;
}
}
}
[WebMethod]
public static List<Users> BindUsers()
{
DataTable dt = new DataTable();
allUsers = new List<Users>();
allUsers.Clear();
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand command = new SqlCommand("select FirstName, LastName from Users Order By FirstName", con))
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(dt);
foreach (DataRow dtrow in dt.Rows)
{
Users users = new Users();
users.FirstName = dtrow["FirstName"].ToString();
users.LastName = dtrow["LastName"].ToString();
allUsers.Add(users);
}
}
}
return allUsers;
}
[WebMethod]
public static List<Users> Search(string term)
{
//List<Users> result = new List<Users>();
return allUsers.FindAll(x => x.FirstName.Contains("term"));
}
public void BindToGrid()
{
DataTable dt = new DataTable();
dt.Columns.Add("FirstName");
dt.Columns.Add("LastName");
gvData.DataSource = dt;
gvData.DataBind();
}
}
public class Users
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
function DisplayPersons() {
$("#gvData").html('');
// Removed for brevity.
}