簡體   English   中英

ASP.NET MVC 4 C#無法連接帶有模型的Ajax發布

[英]ASP.NET MVC 4 C# Failed Connected Ajax Post With Model

我正在使用jQuery發出AAX請求,像這樣發布:

$("#frm").submit(function (e) {
    $.ajax({
        url: "/My/Controller/Action",
        type: "POST",
        data: $(this).serialize(),
        dataType: "json",
        success: function (status) {
            alert("Success");
        },
        error: function () {
            alert("Error");
        }
    });
    e.preventDefault();
});

這是我的控制器:

[AcceptVerbs(HttpVerbs.Post)]
public JsonResult QuizCalculation()
{
    foreach (string keys in Response.Form.AllKeys)
    {
        var m = db.Quiz.Single(h => h.id == keys);
    }

    Request.AcceptTypes.Contains("application/json");
    return Json(new { status = true });
}

但是它總是返回一個錯誤:

運算符'=='不能應用於類型'int'和'string'的操作數

部分=> h.id == keys

請幫我。 知道是什么原因造成的嗎?

您需要將id轉換為字符串,或者將keys轉換為int 嘗試這個:

foreach (string keys in Response.Form.AllKeys)
{
    var m = db.Quiz.Single(h => h.id.ToString() == keys);
}

或這個:

foreach (string keys in Response.Form.AllKeys)
{
    var m = db.Quiz.Single(h => h.id == Int16.Parse(keys));
}

另外,您應該考慮使用ModelBinding接收參數,而不是遍歷Form

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM