ASP.NET MVC3 - Bug using Javascript

Posted by ebb on Stack Overflow See other posts from Stack Overflow or by ebb
Published on 2010-12-27T15:49:14Z Indexed on 2010/12/27 15:54 UTC
Read the original article Hit count: 227

Hey there,

I'm trying to use Ajax.BeginForm() to POST A Json result from my controller (I'm using MVC3). When the Json result is called it should be sent to a javascript function and extract the object using "var myObject = content.get_response().get_object();", However it just throws a "Microsoft JScript runtime error: Object doesn't support this property or method" when trying to invoke the Ajax POST.

My code:

Controller:

[HttpPost]
public ActionResult Index(string message)
{
    return Json(new { Success = true, Message = message });
}

View:

<!DOCTYPE html>

<html>
<head>
    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>

    <script type="text/javascript">
        function JsonAdd_OnComplete(mycontext) {
            var myObject = mycontext.get_response().get_object();
            alert(mycontext.Message);
        }
    </script>
</head>

<body>
    <div>
        @using(Ajax.BeginForm("Index", "Home", new AjaxOptions() { HttpMethod = "POST", OnComplete = "JsonAdd_OnComplete" }))
        {
            @Html.TextBox("message")

            <input type="submit" value="SUBMIT" />

        }
    </div>
</body>
</html>

The strange thing is that the exactly same code works in MVC2 - Is this a bug, or have I forgot something?

Thanks in advance.

© Stack Overflow or respective owner

Related posts about c#

Related posts about JavaScript