我有以下模型
public class PersonViewModel {
public Guid Id { get; set; }
public string Firstname{ get; set; }
public string Lastname { get; set; }
}
我的观点看起来像这样
@model Web.UI.PersonViewModel
<form class="form-horizontal" id="fuelux-wizard" method="post">
@Html.Bootstrap().TextBoxFor(p => p.Firstname).Placeholder("First name")
@Html.Bootstrap().TextBoxFor(p => p.Lastname).Placeholder("Last name")
@Html.Bootstrap().Button().Class("btn btn-next").Text(Model.Id == Guid.Empty ? "Lets Start" : "Continue").HtmlAttributes(new { onclick = "CreatePerson();" }).AppendIcon("fa fa-arrow-right")
</form>
这是点击按钮时调用的js函数
function CreateProposal() {
// DO Ajax call to create the person
$.ajax({ url: "CreatePerson", type: "POST", data: $('form').serialize() })
.done(function () {
$('.wizard').wizard('next');
})
.fail(function () {
alert("Unable to save.");
$("#personModal").modal("hide");
});
}
在我的控制器中,我也有一个CreatePerson方法
[HttpPost]
public JsonResult CreatePerson(PersonViewModel personViewModel )
{
if(personViewModel .Id == Guid.Empty)
personViewModel .Id = Guid.NewGuid();
return Json(personViewModel );
}
如何更新视图的ViewModel?我们的想法是创建一个人,这将为模型分配一个新的Guid。当没有指定Guid时,按钮中的文字会有所不同。
有没有办法可以使用返回的ajax结果更新viewmodel?
有人能指出我正确的方向吗?