0
这就是它必须是,当我第一次打开页面,表格不能被加载,它只会显示,如果我搜索“SSN或TIN”,最好是必须的使用AJAX搜索,我一直在尝试很多代码,但我不知道如何使它工作。ASP.NET MVC Filter带参数的SQL查询
这是我的代码:
Index.chtml
<div class="row">
<div class="col-md-10">
<label class="col-md-2">Search:</label>
<div class="col-md-10">
<input type="text" class="form-control input-sm" id="txtSSN">
</div>
</div>
<div class="col-md-2">
<button class="btn btn-success btn-sm" id="btnSearch" type="submit"><i class="fa fa-search" aria-hidden="true"></i></button>
</div>
</div>
<table class="table table-hover table-bordered" id="IPSCICODatatable">
<thead>
<tr>
<th>SSN or TIN</th>
<th>Customer ID</th>
<th>Account Number</th>
<th>Date Transaction</th>
<th>Trans Code</th>
<th>Trans Description</th>
<th>Amount</th>
<th>Cash in</th>
<th>Cash out</th>
<th>Source</th>
</tr>
</thead>
</table>
CICO.cs
public class CICO
{
public double? ssn_or_tin { get; set; }
public double? cusid { get; set; }
public double? accountNo { get; set; }
public string dateTrans { get; set; }
public int? transCode { get; set; }
public string transdescription_1 { get; set; }
public double? amount { get; set; }
public double? cashin { get; set; }
public double? cashout { get; set; }
public string source { get; set; }
public int SSN { get; set; }
}
HomeController.cs
public List<CICO> GetCICO()
{
List<CICO> cicos = new List<CICO>();
using (SqlConnection con = new SqlConnection())
{
con.ConnectionString = str;
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = con;
cmd.CommandTimeout = 180;
cmd.CommandText = "select distinct i.ssn_or_tin,i.cusid,i.accountNo,i.dateTrans,i.transCode,i.transdescription_1,(i.debit)as amount,(coalesce(c.debit,0))as cashin,(coalesce(o.debit,0))as cashout,i.source from source_ips i left join (select * from source_cash_in_original where transCode ='966') as c on (i.ssn_or_tin =c.ssntin or i.cusid=c.cusid or i.accountNo=c.accountNo) and i.dateTrans=c.dateTrans left join (select * from source_cash_out_original where transCode ='936') as o on (i.ssn_or_tin =o.ssntin or i.cusid=o.cusid or i.accountNo=o.accountNo) and i.dateTrans=o.dateTrans where i.ssn_or_tin = '2369646' and i.transCode ='131' and (i.dateTrans between '1/22/2015' and '1/22/2015') order by i.dateTrans ASC";
con.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
if (sdr.HasRows)
{
while (sdr.Read())
{
CICO cico = new CICO()
{
ssn_or_tin = sdr["ssn_or_tin"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["ssn_or_tin"]),
cusid = sdr["cusid"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["cusid"]),
accountNo = sdr["accountNo"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["accountNo"]),
dateTrans = sdr["dateTrans"].ToString(),
transCode = sdr["transCode"] == DBNull.Value ? (int?)null : Convert.ToInt32(sdr["transCode"]),
transdescription_1 = sdr["transdescription_1"].ToString(),
amount = sdr["amount"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["amount"]),
cashin = sdr["cashin"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["cashin"]),
cashout = sdr["cashout"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["cashout"]),
source = sdr["source"].ToString()
};
cicos.Add(cico);
}
}
}
con.Close();
}
}
return cicos;
}
public JsonResult GetAllCICO()
{
var cicos = GetCICO().ToList();
var jsonResult = Json(new{data = cicos}, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
}
的Javascript:
<script type="text/javascript">
$(document).ready(function() {
$("#btnSearch").click(function() {
var table = $('#IPSCICODatatable').DataTable({
"ajax": {
"url": '/Home/GetAllCICO',
"type": "get",
"datatype": "json",
"data": function (d) {
d.searchParameters = {};
d.searchParameters.ssn_or_tin = $('#txtSSN').val();
}
},
"columns": [
{ "data": "ssn_or_tin", "autoWidth": true },
{ "data": "cusid", "autoWidth": true },
{ "data": "accountNo", "autoWidth": true },
{ "data": "dateTrans", "autoWidth": true },
{ "data": "transCode", "autoWidth": true },
{ "data": "transdescription_1", "autoWidth": true },
{ "data": "amount", "autoWidth": true },
{ "data": "cashin", "autoWidth": true },
{ "data": "cashout", "autoWidth": true },
{ "data": "source", "autoWidth": true }
]
});
});
});
</script>
非常感谢你,我会尝试,如果 – Hansmagz
工作记得投票表决answare –
哪里是在CommandText? – Hansmagz