我有一個模型,JobApplicationForm。該模型分為短應用程式和長應用程式。這意味著第一頁向模型發布了某些屬性,一旦最后 3 頁完成,另一篇帖子會更新模型以完全填寫。
public class JobApplicationForm
{
public int Prop1 {get; set}
public string Prop2 {get; set;}
public string Prop3 {get; set;}
public string Prop4 {get; set;}
public string Prop5 {get; set;}
public int CompletionStatus {get; set;}
}
在 1st Post 動作中,模型填充 Prop1 和 Prop2,并設定 CompletionStatus = 1。這是完成 1 頁表單后的帖子。
然后在 2nd Post 動作中,還有 3 個頁面填寫 Prop 3、4、5,并在提交最后一頁時設定 CompletionStatus = 4。
由于表格的第二部分是 3 頁,它們放在一起。有沒有辦法使用 AJAX 在各自的頁面上簡單地將完成狀態更新為 2 和 3?嘗試使用 AJAX 發布時,我在網上發現模型必須完全填寫,并且找不到任何人只更新一個屬性。更改完成狀態時,我根本沒有嘗試更新視圖,只是嘗試更新模型的屬性。
Ajax(狀態是在別處定義的 int 變數)
$('.next.button').click(function() {
$.post('/Home/UpdateCompletionStatus', {completionStatus : status});
});
我創建的第三個控制器是為了更新這個屬性。
[HttpPost]
public ActionResult UpdateCompletionStatus([FromBody]JobApplicationForm model, int status)
{
if (ModelState.IsValid)
{
model.CompletionStatus = status;
}
return new EmptyResult();
}
uj5u.com熱心網友回復:
我解決了我自己的問題。它沒有更新的原因是模型系結很混亂。我在控制器中呼叫了引數狀態,然后在 ajax 中將其稱為completionStatus。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/421547.html
標籤:
上一篇:殺死Excel行程c#
