我的JsonResult Part是真的吗? 可能[HttpGet]是ActionResult而[HttpPost]是JsonReult吗?并有不同的名字? 我认为我的控制器出错了。但这不起作用。
myController的:
[HttpGet]
public ActionResult Customer()
{
var obj = new Project.Models.CentricModelClasses.ViewModelX();
return PartialView(obj);
}
[HttpPost]
public JsonResult Save(ViewModelX jsonMyModel)
{
var result = true;
if (ModelState.IsValid)
{
result= MyClass.Insert (jsonMyModel.Address, jsonMyModel.Cod,
jsonMyModel.idpurchase,
jsonMyModel.idspend, jsonMyModel.Lname,
jsonMyModel.Name, jsonMyModel.Tell, jsonMyModel.username);
}
else
{
}
return Json(result, JsonRequestBehavior.AllowGet);
我的班级:
public class ViewModelX
{
public Nullable< long > idpurchase { get; set; }
public Nullable<long> idspend { get; set; }
public string username { get; set; }
public string Name { get; set; }
public string Lname { get; set; }
public string Tell { get; set; }
public string Address { get; set; }
public string CodPosti { get; set; }
}
部分观点:
@Html.HiddenFor(m => m.username)
@Html.HiddenFor(m => m.Tell)
@Html.HiddenFor(m => m.Name)
@Html.HiddenFor(m => m.Mobil)
@Html.HiddenFor(m => m.Lname)
@Html.HiddenFor(m => m.id_purchase)
@Html.HiddenFor(m => m.id_spend)
<script type="text/javascript">
$("#submit-btn2").click(function () { saveMyModel();});
function SaveMyModel()
{
var e = document.getElementById("id_purchase");
var str = e.options[e.selectedIndex].value;
var e2 = document.getElementById("id_spend");
var str2 = e.options[e.selectedIndex].value;
$.ajax({
url: '@Url.Action("Save", "Home")',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({
jsonMyModel: {
username: $(".tdBuyername").val(),
Tell: $(".tdPhone").val(),
Name: $(".tdRecievername").val(),
Mobil: $(".tdMobile").val(),
Lname: $(".tdLname").val(),
id_purchase: $("# id_purchase ").val(str),
id_spend: $("# id_spend ").val(str2),
}
})
});
}
答案 0 :(得分:0)
我认为你的问题是你正在使用的jQuery选择器。这个(username: $(".tdBuyername").val(),
正在使用类选择器,因此会查找类为tdBuyername
的任何元素。可能你真的想要id或name。
ID - $("#tdBuyername").val()
名称 - $("[name=tdBuyername]").val()
还要确保yor JSON对象的属性名与您尝试绑定的模型匹配。例如{@ 1}}将不会被回发的属性idpurchase
填充。
但是,对于你问的另一个问题,关于你的保存方法是否正确,我会说它需要一些小的改进。也许是这样的:
id_purchase