여기 내 HTTP 포스트 컨트롤러 : 여기 어떻게 구속 된 컨트롤러에 객체를 전달할 수 녹아웃 JS
[HttpPost]
public ActionResult Create(Employee p)
{
if (ModelState.IsValid)
{
Employee employee = EmployeeDataAccess.AddToDatabase(p);
return RedirectToAction("Index", "Hr");
}
return View();
}
내보기
@model TimeInTimeOut.Models.Employee
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Create</h2>
<table>
<tr>
<td><input type="text" placeholder="LastName" data-bind="value: lastName"/></td>
</tr>
<tr>
<td><input type="text" placeholder="FirstName" data-bind="value: firstName"/></td>
</tr>
<tr>
<td><input type="text" placeholder="MiddleName" data-bind="value: middleName"/></td>
</tr>
<tr>
<td><input type="button" value="Save To Database" data-bind="click: saveToDb"/></td>
</tr>
</table>
@section Scripts
{
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/knockout")
@Scripts.Render("~/Knocks/EmployeeVm.js")
}
이며, 여기 내 녹아웃 EmployeeVm입니다 .js :
$(function() {
ko.applyBindings(EmployeeVm);
});
var EmployeeVm = {
employeeId: ko.observable(0),
lastName: ko.observable(''),
firsName: ko.observable(''),
middleName: ko.observable(''),
saveToDb: function() {
var self = this;
$.ajax({
url: '/Employee/Create',
type: 'post',
dataType: 'json',
data: ko.toJSON(this),
contentType: 'application/json',
success: function(data) {
alert("Successful Employee Insert");
}
});
}
}
이러한 필드를 하나의 개체에 Create (Employee p)로 전달하는 방법을 모르겠습니다. 자세한 내용을 설명하십시오. 나는 js와 knockout js에 새로운 사람입니다. 또한 최종 사용자가 성 및 이름에 아무 것도 입력하지 않은 상태에서 녹아웃을 사용하여 버튼을 비활성화하는 방법은 다음과 같습니다. 즉, 필드가 비어 있으면 안되며 최종 사용자가 사라지면 사라지도록 경고를 보냅니다. 필드에 텍스트를 넣으시겠습니까?