- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 DataTables 插件为 Ajax 数据绑定(bind) Asp.Net 中继器控件,但它不起作用以下是我的代码。
$(document).ready(function () {
$('#tblMessages').dataTable({
"sDom": 'T<"clear">lfrtip',
"oLanguage": { "sSearch": "Search the Messages:" },
"aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"iDisplayLength": 25,
"bProcessing": true,
"bServerSide": true,
"bFilter": true,
"sAjaxSource": "../QCDataServices.asmx/GetPatients",
"fnServerData": function(sSource, aoData, fnCallback) {
aoData.push("{pageSize:'20',pageNumber:'1'}");
$.ajax({
"type": "POST",
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"url": sSource,
"data": aoData,
"success": function (msg) {
fnCallback(msg.d);
}
});
},
"sPaginationType": "full_numbers",
"oTableTools": {
"aButtons": [
"copy",
"csv",
"xls",
{
"sExtends": "pdf"
},
"print"
]
},
"aaSorting": [[0, "desc"]]
});
});
public class PatientGridDataSet
{
public int sEcho { get; set; }
public int iTotalRecords { get; set; }
public int iTotalDisplayRecord { get; set; }
public List<Patient> aaData { get; set; }
}
[WebMethod(EnableSession=true)]
public PatientGridDataSet GetPatients(int pageSize, int pageNumber)
{
var patlist=Patients("", "", "");
return new PatientGridDataSet {sEcho = pageNumber,iTotalRecords = patlist.Count, iTotalDisplayRecord = pageSize, aaData= patlist.Skip(pageSize * pageNumber).Take(pageSize).ToList() };
}
[WebMethod(EnableSession = true)]
public List<Patient> Patients(string searchIn, string Operator, string searchString)
{
List<Patient> result;
try
{
DataRow[] rows;
var table = new dsVw_Patients.vw_PatientsDataTable();
var adapter = new vw_PatientsTableAdapter();
adapter.Fill(table);
//DataTable distinctTable = originalTable.DefaultView.ToTable( /*distinct*/ true);
string hid = Context.Session["HospitalId"] == null ? "0" : Context.Session["HospitalId"].ToString();
string rid = Context.Session["RoleId"] == null ? "0" : Context.Session["RoleId"].ToString();
string uid = Context.Session["UserId"] == null ? "0" : Context.Session["UserId"].ToString();
if (searchIn.Equals(""))
{
rows = hid.Equals("0") ? table.DefaultView.ToTable(true).Select("1=1", "PatientName ASC") : table.DefaultView.ToTable(true).Select("HospitalId="+hid, "PatientName ASC");
if(rid.Equals("5"))
rows = table.DefaultView.ToTable(true).Select("UserId="+uid, "PatientName ASC");
}
else
{
if (hid.Equals("0"))
{
rows = Operator.Contains("%") ? table.DefaultView.ToTable(true).Select(searchIn + " like '" + Operator.Replace("_", searchString) + "'", searchIn + " ASC") : table.DefaultView.ToTable(true).Select(searchIn + " " + Operator + " '" + searchString + "'", searchIn + " ASC");
}
else
{
rows = Operator.Contains("%") ? table.DefaultView.ToTable(true).Select("HospitalId=" + hid+" and "+searchIn + " like '" + Operator.Replace("_", searchString) + "'", searchIn + " ASC") : table.DefaultView.ToTable(true).Select("HospitalId=" + hid + " and " + searchIn + " " + Operator + " '" + searchString + "'", searchIn + " ASC");
}
if (rid.Equals("5"))
{
rows = Operator.Contains("%") ? table.DefaultView.ToTable(true).Select(searchIn + " like '" + Operator.Replace("_", searchString) + "'", searchIn + " ASC") : table.DefaultView.ToTable(true).Select(searchIn + " " + Operator + " '" + searchString + "'", searchIn + " ASC");
}
}
var tieup=new clsTieUpCompanies();
result = rows.Select(row => new Patient
{
PatientId = Convert.ToInt32(row["PatientId"]), PatientName = row["PatientName"].ToString(), Address = row["Address"].ToString(), Street = row["Street"].ToString(), City = row["City"].ToString(), ContactNo = row["Contactno"].ToString(), MobileNo = row["MobileNo"].ToString(), Email = row["Email"].ToString(), State = row["State"].ToString(), Country = row["Country"].ToString(), BPLCardNo = row["BPLCardNo"].ToString(), Company = tieup.GetTieupCompanyName(Convert.ToInt32(row["CompanyId"]))
}).ToList();
}
catch (Exception)
{
result = null;
}
return result;
}
<asp:Repeater ID="rptList" runat="server">
<HeaderTemplate>
<table id="tblMessages">
<thead>
<tr>
<th>
Patient Name
</th>
<th>
Address
</th>
<th>
City
</th>
<th>
Contact No
</th>
<th>
MobileNo
</th>
<th>
BPL Card No.
</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Eval("PatientName")%>
</td>
<td>
<%#Eval("Address")%>
</td>
<td>
<%# Eval("City")%>
</td>
<td>
<%# Eval("ContactNo")%>
</td>
<td>
<%# Eval("MobileNo")%>
</td>
<td>
<%# Eval("BPLCardNo")%>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody> </table>
</FooterTemplate>
</asp:Repeater>
最佳答案
@蒂姆·B·詹姆斯
我已经成功了。但是我尝试使用它的真正原因是无视的。仅获取 80 条记录需要花费大量时间。在这里找到我的客户代码。
$(document).ready(function () {
var grid = $('#tblMessages').dataTable({
"sDom": 'T<"clear">lfrtip',
"oLanguage": { "sSearch": "Search the Messages:" },
"aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"iDisplayLength": 25,
"oTableTools": {
"aButtons": [
"copy",
"csv",
"xls",
{
"sExtends": "pdf"
},
"print"
]
},
"bProcessing": true,
"bSort": true,
"sPaginationType": "full_numbers",
"bServerSide": true,
"sAjaxSource": "../QCDataServices.asmx/GetPatients",
"fnServerData": function (sSource, aoData, fnCallback) {
var jsonAOData = JSON.stringify(aoData);
$.ajax({
type: "POST",
//dataType: "json",
contentType: "application/json; charset=utf-8",
url: sSource,
data: "{jsonAOData : '" + jsonAOData + "'}",
success: function (msg) {
fnCallback(JSON.parse(msg.d));
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.responseText);
}
});
},
"aoColumnDefs": [
{ "fnRender": function (oObj) {
return "<a href='../FrmMessage.aspx?id='" + oObj.aData[0] + "><img src='../../images/SMS.png'/></a>";
},
"bSortable": false,
"aTargets": [0]
},
{ "sName": "PatientName",
"bSearchable": true,
"aTargets": [1]
},
{ "sName": "Address",
"bSearchable": true,
"bSortable": true,
"aTargets": [2]
},
{ "sName": "ContactNo", "aTargets": [3] },
{ "sName": "MobileNo", "aTargets": [4] },
{ "sName": "BPL Card No", "aTargets": [5] }
]
});
grid.fnSetFilteringDelay(1000);
});
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetPatients(string jsonAOData)
{
var patients= Patients("", "", "");
var dataTablePager = new DataTablePager<Patient>(jsonAOData, patients);
var formattedList = dataTablePager.Filter();
return JsonConvert.SerializeObject(formattedList);
}
[WebMethod(EnableSession = true)]
public IQueryable<Patient> Patients(string searchIn, string Operator, string searchString)
{
IQueryable<Patient> result ;
try
{
DataRow[] rows;
var table = new dsVw_Patients.vw_PatientsDataTable();
var adapter = new vw_PatientsTableAdapter();
adapter.Fill(table);
//DataTable distinctTable = originalTable.DefaultView.ToTable( /*distinct*/ true);
var hid = Context.Session["HospitalId"] == null ? "0" : Context.Session["HospitalId"].ToString();
var rid = Context.Session["RoleId"] == null ? "0" : Context.Session["RoleId"].ToString();
var uid = Context.Session["UserId"] == null ? "0" : Context.Session["UserId"].ToString();
if (searchIn.Equals(""))
{
rows = hid.Equals("0") ? table.DefaultView.ToTable(true).Select("1=1", "PatientName ASC") : table.DefaultView.ToTable(true).Select("HospitalId="+hid, "PatientName ASC");
if(rid.Equals("5"))
rows = table.DefaultView.ToTable(true).Select("UserId="+uid, "PatientName ASC");
}
else
{
if (hid.Equals("0"))
{
rows = Operator.Contains("%") ? table.DefaultView.ToTable(true).Select(searchIn + " like '" + Operator.Replace("_", searchString) + "'", searchIn + " ASC") : table.DefaultView.ToTable(true).Select(searchIn + " " + Operator + " '" + searchString + "'", searchIn + " ASC");
}
else
{
rows = Operator.Contains("%") ? table.DefaultView.ToTable(true).Select("HospitalId=" + hid+" and "+searchIn + " like '" + Operator.Replace("_", searchString) + "'", searchIn + " ASC") : table.DefaultView.ToTable(true).Select("HospitalId=" + hid + " and " + searchIn + " " + Operator + " '" + searchString + "'", searchIn + " ASC");
}
if (rid.Equals("5"))
{
rows = Operator.Contains("%") ? table.DefaultView.ToTable(true).Select(searchIn + " like '" + Operator.Replace("_", searchString) + "'", searchIn + " ASC") : table.DefaultView.ToTable(true).Select(searchIn + " " + Operator + " '" + searchString + "'", searchIn + " ASC");
}
}
//.Skip(pageSize*pageNumber).Take(pageSize).ToList().
var tieup=new clsTieUpCompanies();
result = rows.Select(row => new Patient
{
PatientId = Convert.ToInt32(row["PatientId"]), PatientName = row["PatientName"].ToString(), Address = row["Address"].ToString(), Street = row["Street"].ToString(), City = row["City"].ToString(), ContactNo = row["Contactno"].ToString(), MobileNo = row["MobileNo"].ToString(), Email = row["Email"].ToString(), State = row["State"].ToString(), Country = row["Country"].ToString(), BPLCardNo = row["BPLCardNo"].ToString(), Company = tieup.GetTieupCompanyName(Convert.ToInt32(row["CompanyId"]))
}).AsQueryable();
}
catch (Exception)
{
result = null;
}
return result;
}
关于asp.net - 使用 Ajax 调用加载 Asp.Net 中继器的 JQuery 数据表插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7383915/
我在互联网上搜索了很多小时,但没有找到满意的结果,所以 -VSTO Addin 和 COM Addin(我们作为类库项目制作并使用 Excel 对象)之间有什么区别?VSTO 项目是否有任何限制,例如
我在互联网上搜索了很多小时,但没有找到满意的结果,所以 -VSTO Addin 和 COM Addin(我们作为类库项目制作并使用 Excel 对象)之间有什么区别?VSTO 项目是否有任何限制,例如
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在寻找有关如何构建可扩展 WCF 服务器(具有动态加载的服务)的建议,最好使用 System.Addins 或 MEF。 服务器应托管实现最小“插件”API(StartService/StopSe
有没有一种方法可以使用加载浏览器扩展/插件/插件的 headless 浏览器(即 PhantomJS、Selenium)来运行自动测试? 更具体地说,我想模拟广告拦截器(如 Ghostery、ad-b
我是 gradle 的新手,我使用 artifactory 作为我的 repo 服务器。我在网上查看了如何将我的项目发布到我的 repo 服务器,发现我可以使用 maven-publish 或使用 a
我想禁用某些状态的点击/事件,并仅使少数状态可点击。我通读了http://newsignature.github.io/us-map/处的文档,并且找不到与此问题相关的任何内容。 最佳答案 http:
据我了解,在Intellij中使用idea插件打开Maven构建的项目并不是最好的方法,即调用: mvn idea:idea 但是直接打开pom文件(Intellij有默认的Maven插件);同样的事
使用Artifactory plugin对于 Jenkins pipeline 来说是一种幸福,只要遵循文档就可以了。但后来我介绍了Maven Flatten plugin解析父模块和子模块 mvn
我已经安装了Elasticsearch版本1.7.1。一切正常。我也安装了 JDBC 驱动程序。检查下面我的插件文件夹 目录E:\Xampp\htdocs\my-elastic\elasticsear
在我使用 webpack common chunks 插件创建包含第三方库(如 angular、react、lodash 等)的 vendor 包之前,但后来我知道了 webpack dll
我们正在尝试使用(Jenkins、sonar、eclipse ...)安装 CI 平台。 为了让每个开发人员都可以在提交之前对他的代码进行分析,我想知道两种选择: 使用 Sonar 插件运行本地分析。
我知道这是一个比较特殊的问题。尽管如此,也许有些人知道这一点: 我想在 Eclipse 中使用 Maven 编译 Hector=> 分支:0.7.0 和标签:hector-0.7.0-29(https
我卡住了。我一直在尝试寻找或自己创建一个简单的准系统示例,说明如何为 VS 2010 Express 创建 Outlook 插件。我知道这在 VS 2010 Pro 中更简单,但是,在快速版本中真的不
我有以下排除过滤器来忽略所有 R 文件类: findbugs-exclude-filter.xml 当我将它用于 FindBugs-IDEA 插件时,它可以
我刚开始玩 CakePHP,我发现了 Wildflower CMS .我喜欢这个想法,并打算开始修补它。不过,我有一个问题。 在自述文件中,我发现了以下内容:“Wildflower 不是也不会是 Ca
虽然现在大部分情况都是使用n-api来编写插件,但是底层毕竟是v8(和libuv),使用v8编写简单的插件,同时熟悉v8的使用。 本文介绍在写c++插件时,简单又常用的写法,其实本质上,写插件
本篇是 Python 系列教程第 3 篇,更多内容敬请访问我的 Python 合集 Visual Studio Code的安装非常简单,就不放这里增加文章篇幅了。 相比PyCharm,V
Maven – 插件 什么是 Maven 插件? Maven 实际上是一个依赖插件执行的框架,每个任务实际上是由插件完成。Maven 插件通常被用来: 创建 jar 文件 创建 war
我正在编写一个插件来添加带有标签 [deposit_page] 的页面;该标记应替换为一些 PHP 代码。 这就是我所拥有的,但它不起作用。有什么我遗漏或做错了什么吗? function deposi
我是一名优秀的程序员,十分优秀!