C# 使用jquery在ASP.NET web表单中的数据插入上显示中继器,无需回发
这似乎很简单,但我就是搞不懂。 我有一个asp.net页面,具有以下凭据:C# 使用jquery在ASP.NET web表单中的数据插入上显示中继器,无需回发,c#,jquery,asp.net,C#,Jquery,Asp.net,这似乎很简单,但我就是搞不懂。 我有一个asp.net页面,具有以下凭据: 1按钮 1文本框 1中继器 *现在,当我在文本框中键入文本时,我使用jquery ajax将文本传递给web方法, 将文本插入数据库。 现在我的代码中有了一个公共方法,thta从数据库中选择数据并将其绑定到中继器。 在没有回发的情况下,如何在每次数据插入时显示此中继器?* success: function (data) { for (var i = 0; i < data.d.lengt
success: function (data) {
for (var i = 0; i < data.d.length; i++) {
$("#tbDetails").append("<tr><td>" + data.d[i].ID + "</td><td>" + data.d[i].ChargeName + "</td><td>" + data.d[i].Description + "</td></tr>");
}
},
error: function (result) {
alert("Error");
成功:函数(数据){
对于(变量i=0;i
这是一个小示例,我想你可以忽略插入部分,因为你说你已经有了它。它使用jQuery,你也在使用它
HTML:
函数insertData(){
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“Default.aspx/insertData”,
数据:“{}”,
数据类型:“json”,
成功:功能(数据){
if(data.d!=null)
警报(数据d);
}
});
}
函数retrieveData(){
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“Default.aspx/retrieveData”,
数据:“{}”,
数据类型:“json”,
成功:功能(数据){
if(data.d!=null){
对于(i=0;i
ASP.NET:
using System;
using System.Web.Services;
using System.Collections.Generic;
public partial class _Default : System.Web.UI.Page
{
[WebMethod]
public static List<SampleClass> retrieveData()
{
//Retrieve data from the server and return.
List<SampleClass> tmp = new List<SampleClass>();
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 1", Age = 44, ID = 1 });
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 2", Age = 23, ID = 2 });
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 3", Age = 20, ID = 3 });
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 4", Age = 45, ID = 4 });
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 5", Age = 21, ID = 5 });
return tmp;
}
[WebMethod]
public static bool deleteRow(int row)
{
if (row > 0)
return true;
return false;
}
[WebMethod]
public static bool insertData()
{
//Do all of the insert in the server blah blah blah
//and return true or false if it was inserted.
return true;
}
}
public class SampleClass
{
public int ID { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
使用系统;
使用System.Web.Services;
使用System.Collections.Generic;
公共部分类\u默认值:System.Web.UI.Page
{
[网络方法]
公共静态列表检索数据()
{
//从服务器检索数据并返回。
List tmp=新列表();
添加(newsampleclass(){Name=“Test”,LastName=“Number 1”,Age=44,ID=1});
添加(newsampleclass(){Name=“Test”,LastName=“Number 2”,Age=23,ID=2});
添加(newsampleclass(){Name=“Test”,LastName=“Number 3”,Age=20,ID=3});
添加(newsampleclass(){Name=“Test”,LastName=“Number 4”,Age=45,ID=4});
添加(newsampleclass(){Name=“Test”,LastName=“Number 5”,Age=21,ID=5});
返回tmp;
}
[网络方法]
公共静态bool deleteRow(int行)
{
如果(行>0)
返回true;
返回false;
}
[网络方法]
公共静态bool insertData()
{
//在服务器上做所有的插入等等等等
//如果插入,则返回true或false。
返回true;
}
}
公共类样本类
{
公共int ID{get;set;}
公共字符串名称{get;set;}
公共字符串LastName{get;set;}
公共整数{get;set;}
}
祝你好运!
编辑:现在您还可以看到一个删除示例,其中包括将一个参数传递给webmethod。祝您好运。CAPS LOCK使所有内容都更易于阅读。为什么要使用asp.net服务器控件来显示数据?您是否可以执行另一个jquery ajax调用,然后在html中显示它?@hanlet hmm…。我该怎么做?我正在一个小型sa中工作mple,并将其作为答案发布。@hanlet…感谢提供详细信息…但在retrieveData web方法中,我想返回一个转发器(而不仅仅是字符串)…即一个从数据库获取数据并在UI中显示的查询。您想返回一个转发器吗?我不理解这一部分。您从数据库中到底得到了什么?Datatable,什么东西的列表?data.d对象是一个json对象,它可以包含几乎任何强类型对象或Datatable。我将创建一个强类型对象对象并修改我的示例,以便您可以看到我所说的内容。@hanlet…正在从数据库中的表返回数据…但我将其绑定到代码隐藏中的一个转发器。@froodo,我对代码进行了一些更新,以向您展示如何从代码隐藏中返回强类型对象并在html上显示它。现在,我知道您是databi正在将数据绑定到中继器,但您到底绑定到中继器的是什么?数据表、对象的通用列表、字符串列表?如果您提供更多信息,我可能会为您提供更详细的示例。
using System;
using System.Web.Services;
using System.Collections.Generic;
public partial class _Default : System.Web.UI.Page
{
[WebMethod]
public static List<SampleClass> retrieveData()
{
//Retrieve data from the server and return.
List<SampleClass> tmp = new List<SampleClass>();
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 1", Age = 44, ID = 1 });
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 2", Age = 23, ID = 2 });
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 3", Age = 20, ID = 3 });
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 4", Age = 45, ID = 4 });
tmp.Add(new SampleClass() { Name = "Test", LastName = "Number 5", Age = 21, ID = 5 });
return tmp;
}
[WebMethod]
public static bool deleteRow(int row)
{
if (row > 0)
return true;
return false;
}
[WebMethod]
public static bool insertData()
{
//Do all of the insert in the server blah blah blah
//and return true or false if it was inserted.
return true;
}
}
public class SampleClass
{
public int ID { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}