我正在尝试使一些JSON功能正常工作,它基本上很简单,但是由于某种原因,我的控制台上出现了500 Internal server error,并且应用程序从未到达控制器。我已经尝试了几乎所有内容,但是代码是如此简单,我放弃了通过反复读同一行代码来尝试查找错误的方法。

这是我的脚本:

            $("#saveAdvisorOption").click(function () {
            // Create a JSON object:
            alert("OK");
            var OptionsModel = { "AdvisorNewsFeed": $("#advisorCheckBox").val() };
            alert($(OptionsModel.AdvisorNewsFeed));
            $.post("/Account/ChangeOptionForAdvisor", OptionsModel, function (data) {

            });
        });


这是我的模型:

    public class OptionsModel
{
    public string AdvisorNewsFeed { get; set; }

    public OptionsModel(string AdvisorNewsFeed)
    {
        this.AdvisorNewsFeed = AdvisorNewsFeed;

    }
}


}

这是我的控制器:

    public class AccountController : Controller
{
    [HttpPost]
    public ActionResult ChangeOptionForAdvisor( OptionsModel option)
    {

        //Return something
        return Json(option, JsonRequestBehavior.AllowGet);
    }


我在return语句上有一个断点,但是它永远不会运行。

任何帮助是极大的赞赏。

最佳答案

您可能只需要向OptionsModel类添加一个空的构造函数。没有空的构造函数,MVC无法实例化该类。

10-08 04:53