我試圖在點擊按鈕的Ajax Post請求中將ID值傳遞給控制器。但它不能作業。該按鈕位于Foreach回圈中。在這里,我試圖傳遞ID值,但后來,我想傳遞model值。如果可能的話,請給我一個解決方案。
控制器方法:
[HttpPost]
public IActionResult Job_details(int id)
{
int ids = 0;
return Json(new { result = "Redirect"}) 。
}
查看代碼:
@model IEnumerable<OnlineRecruitmentMst>
@{
var options = Model.OrderBy(span class="hljs-params">i => i. VacancyID).ToList()。
}
@for (int i = 0; i < options.Count() ; i )
{
< div id="loopOption" class="row justify-content-center">
<div class="col-xl-10"/span>>
<! -- single-job-content -->
<div class="single-job-items mb-30"/span>>
<div class="job-items">/span>
<div class="company-img"/span>>
<a href="job_details. cshtml"><img src=assets/img/icon/job-list1. png" alt="></a>
</div>/span>
<div class="job-tittle">
<a>< h4 id="VacPost"> @options[i]. Post</h4></a>
<ul>
<li id="VacDept">/span>< i class="fas fa-map-marker-alt"></@options[i]. 部門</li>@options[i].
<li id="VacNumber">/span>Numer Of Vacancy: @options[i].NumberOfVacancy</li>Numer Of Vacancy.
</ul>/span>
</div>/span>
</div>/span>
<div class="items-link f-right">/span>
< 按鈕 id="btnPost" type="submit" class="btn head-btn1" data-id="@options[i]. VacancyID" value="@options[i].VacancyID">View Details</button>
< span id="VacEndDate" class="alert-danger"> End Date : @options[i].EndDate</span>
</div>/span>
</div>/span>
</div>/span>
</div>/span>
腳本代碼:
<script type="text/javascript"/span>>
$(function () {
$(document)。 on("click", "#btnPost", function (e) {
debugger;
e.preventDefault()。
var Vacid = $(this).val()。
$.ajax({}.
type: "POST"/span>。
url: "/home/job_details/"。
data: JSON.stringify(Vacid)。
contentType: 'application/json;charset=utf-8'。
dataType: "json",
cache: false,
success: function (response) {
alert("AJAX request successfully completed") 。
if (response.result == 'Redirect') {
window.location = '@Url.Action("JobVacancy", "Home") ' ;
}
},
error。function () {
alert("發生錯誤。")。
}
});
});
});
</script>>
uj5u.com熱心網友回復:
我想傳遞模型值。如果可能的話,請給我一個解決方案 這兩個問題。
關于如何傳遞id,你可以參考:
視圖:
@section Scripts
{
<script type="text/javascript"/span>>
$(function () {
$(document)。 on("click", "#btnPost", function (e) {
debugger;
e.preventDefault()。
var Vacid = $(this).val()。
$.ajax({}.
type: "POST"/span>。
url: "/home/job_details/"。
data: { id: Vacid }, //change here: //change here
//contentType: 'application/json;charset=utf-8', //洗掉這個。
dataType: "json"。
cache: false,
success: function (response) {
alert("AJAX request successfully completed") 。
if (response.result == 'Redirect') {
window.location = '@Url.Action("JobVacancy", "Home") ' ;
}
},
error。function () {
alert("發生錯誤。")。
}
});
});
});
</script>。
}
關于如何傳遞模型,這里有一個作業演示,你需要用動態索引來修改你的元素ID:
模型:
模型:public class OnlineRecruitmentMst
{
public int VacancyID { get; set; }
public string Post { get; set; }
public string Department { get; set; }
public int NumberOfVacancy { get; set; }
public string EndDate { get; set; }
查看:
@model IEnumerable<OnlineRecruitmentMst>
@{
var options = Model.OrderBy(span class="hljs-params">i => i. VacancyID).ToList()。
}
@for (int i = 0; i < options.Count() ; i )
{
< div id="loopOption" class="row justify-content-center">
<div class="col-xl-10"/span>>
<! -- single-job-content -->
<div class="single-job-items mb-30"/span>>
<div class="job-items">/span>
<div class="company-img"/span>>
<a href="job_details. cshtml"><img src=assets/img/icon/job-list1. png" alt="></a>
</div>/span>
<div class="job-tittle">
<a>< h4 id="VacPost_@i"> @options[i]. Post</h4></a> @*改變id這里*@。
<ul> @*在這里更改id*@
@*在這里改變ID*@
<li id="VacDept_@i">/span><。 i class="fas fa-map-marker-alt"><@options[i]. 部門</li>@options[i].
<li id="VacNumber_@i">/span>Numer Of Vacancy: @options[i].NumberOfVacancy</li>Numer Of Vacancy.
</ul>/span>
</div>/span>
</div>/span>
<div class="items-link f-right">/span>
@*在這里添加onclick函式*@
<button onclick="Click('@options[i]. VacancyID', '@i')" id="btnPost" type="submit" class="btn head-btn1" data-id="@options[i]. VacancyID" value="@options[i].VacancyID">View Details</button>
@*在這里改變ID*@
< span id="VacEndDate_@i" class="alert-danger"> End Date : @options[i].EndDate</span>
</div>/span>
</div>/span>
</div>/span>
</div>/span>
}
@section Scripts
{
<script type="text/javascript">/span>
function Click(vacid,index){
var VacNumber = $("#VacNumber_" index).text() 。
var data = VacNumber.split(" :")。
var Vacancy = data[data.length - 1] 。
var VacEndDate = $("#VacEndDate_"/span> index).text();
var data2 = VacEndDate.split(" :")。
var EndDate = data2[data2.length - 1] 。
//pass the model
var model = {
VacancyID: vacid,
Post: $("#VacPost_" index).text() 。
Department: $("#VacDept_" index).text() 。
NumberOfVacancy。空置率。
EndDate: EndDate,
};
$.ajax({
type: "POST"。
url: "/home/job_details/"。
data: JSON.stringify(model), //change here。
contentType: 'application/json;charset=utf-8'。
dataType: "json",
cache: false,
success: function (response) {
alert("AJAX request successfully completed") 。
if (response.result == 'Redirect') {
window.location = '@Url.Action("JobVacancy", "Home") ' ;
}
},
error。function () {
alert("發生錯誤。")。
}
});
}
</script>>
控制器:
[HttpPost]
public IActionResult Job_details([FromBody] OnlineRecruitmentMst OnlineRecruitmentMst)。
{
//...。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/320348.html
標籤:

