![](/img/trans.png)
[英]return viewmodel as a model from controller to view and geting with angularjs and show in option tag in Asp.Net Core 3.1?
[英]How to show detail Datatable relate to row id in asp.net core view define in "a" tag
我在我的 asp.net 核心 MVC 中定義了兩個數據表,它們都可以正常工作。 其中一個是主表,另一個是詳細信息,並與 Id 相互關聯。 我放了一個“a”標簽來調用詳細信息表,輸入“id”作為過濾器,但是當我點擊我的鏈接時,它沒有傳遞給我的操作。 我復制了我的 controller 以及下面的按鈕:
我的 get 方法只是為了查看;
[HttpGet]
public IActionResult SalesDetail()
{
//List<SalesViewModel> Ply = _sv.GetSales();
return View("SalesDetail");
}
我將數據表查詢發送到 sql 的 post 方法:
public IActionResult SalesDetail([FromQuery] int pId)
{
try
{
var dict = Request.Form.ToDictionary(x => x.Key, x => x.Value.ToString());
var parser = new Parser<Sales15DetailViewModel>(ToNameValueCollection<string,
string>(dict),
_sv.GetSalesDetail(pId));
var data = parser.Parse();
var ss = Json(data);
return Json(data);
}
catch (Exception ex)
{
return null;
}
}
我的母校 html 在腳本標簽中帶有按鈕“詳細信息”:
@{
ViewData["Title"] = "list";
}
@section Style{
<link rel="stylesheet" type="text/css" href="/DataTables/DataTableCustom.css" />
<link href="/dist/css/persianDatepicker-default.css" rel="stylesheet" />
}
<div class="card-body">
<div style="width:100%;height:800px;">
<table id="demoGrid" class="table table-fixed table-striped table-hover">
</table>
</div>
</div>
@section Scripts{
<script src="/dist/js/persianDatepicker.js"></script>
<script type="text/javascript" src="/DataTables/datatables.min.js"></script>
<script>
var dataTable;
$(document).ready(function () {
loadDataTable();
});
function loadDataTable() {
$(".yadcf-filter-range-date").persianDatepicker();
dataTable = $('#demoGrid').DataTable({
serverSide: true,
processing: true,
//searchDelay: 500,
pageLength: 10,
infoFiltered: true,
orderMulti: false,
"ajax": {
"url": "SalesDetail",
"type": "POST",
"datatype": "json"
},
"columns": [
{ "data": "PId", "searchable": true, "name": "PId", "autoWidth": true },
{ "data": "BNo", "searchable": true, "name": "BNo", "autoWidth": true },
{ "data": "PrvId", "searchable": true, "name": "PrvId", "autoWidth": true },
{ "data": "PrvNo", "searchable": true, "name": "PrvNo", "autoWidth": true },
{ "data": "SDate", "searchable": true, "autoWidth": true },
{ "data": "HDate", "searchable": true, "name": "HDate", "autoWidth": true},
{
"data": "PId",
"render": function (data, type, full, meta) {
return `<div class="text-center">
<a asp-controller="Report" asp-action="SalesDetail" asp-route-
pId="${data}"
href="/api/Report/SalesDetail?id=${data}" class="btn btn-primary
text-white btn-lg" style='cursor:pointer; width:100px;'>
Detail
</a>
</div> `;
}
}
]
});
]);
}
</script>
}
方法一:
請使用<a href="@Url.Action("ActionName", "ControllerName", new { filterName = "", filterValue = '' })">Click</a>
; 調用您的SalesDetail
方法。
方法二:
在標簽中添加 onclick 事件,並使用 ajax 在 controller 中調用您的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.