Inquiridor
Problema no post utilizando o método Ajax.BeginForm

Pergunta
-
Prezados colegas, bom dia!
Publiquei uma aplicação em ASP.NET MVC 3 (RAZOR) que funciona perfeitamente no ambiente de desenvolvimento, contudo , notei que TODAS as telas que fazem o POST através do método Ajax.BeginForm simplesmente não funcionam, exemplo:
@using (Ajax.BeginForm("Edit", "Business", new AjaxOptions { HttpMethod = "Post", LoadingElementId = "loading", UpdateTargetId = "dialog", OnFailure = "PostFailure", OnSuccess = "PostSuccess", OnComplete = "PostOnComplete" })) { @*form com os controles... }
Na master page contém as seguintes referências notem que incluem a biblioteca do AJAX:
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> <link href="@Url.Content("~/Content/nnetsistemas.comum.css")" rel="stylesheet" type="text/css" /> <link href="@Url.Content("~/Content/themes/ui_lightness/jquery-ui-1.8.17.custom.css")" rel="stylesheet" type="text/css" /> <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.maskedinput-1.3.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/autocomplete.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/nnetsistemas.comum.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 src="@Url.Content("~/Scripts/MicrosoftMvcValidation.debug.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> <link href="@Url.Content("~/Content/dataTables/demo_table_jui.css")" rel="stylesheet" type="text/css" /> <link href="@Url.Content("~/Content/dataTables/demo_page.css")" rel="stylesheet" type="text/css" /> <script src="@Url.Content("~/Scripts/jquery.dataTables.js")" type="text/javascript"></script>
No web.config possui as entradas abaixo:
<appSettings> <add key="webpages:Version" value="1.0.0.0"/> <add key="ClientValidationEnabled" value="true"/> <add key="UnobtrusiveJavaScriptEnabled" value="true"/> </appSettings>
A única coisa que não rola é o POST, não consigo ainda visualizar o erro... Alguém pode me ajudar aí?
Obrigado!
- Editado Ivaldo de Oliveira Júnior terça-feira, 28 de agosto de 2012 15:50
Todas as Respostas
-
Tirando a referência da action e do controller funciona, tipo assim:
@using (Ajax.BeginForm( new AjaxOptions { HttpMethod = "Post", LoadingElementId = "loading", UpdateTargetId = "dialog", OnFailure = "PostFailure", OnSuccess = "PostSuccess", OnComplete = "PostOnComplete" })) { @*form com os controles... }
Alguma configuração de rota deve ser feita?
-
Olá Ivaldo olha meu exemplo,
View
<script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> <script src="../../Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script> @using (Ajax.BeginForm("Salvar","Home",new AjaxOptions { HttpMethod="Post", InsertionMode=InsertionMode.Replace, UpdateTargetId = "Minutos" //Voce pode usar os eventos aqui, só esses já dá para fazer funcionar })) { <input id="Submit1" type="submit" value="submit" /> } <div id="Minutos"/>
Controller
[HttpPost] public ActionResult Salvar() { return Content(DateTime.Now.Minute.ToString()); }
olha se por acaso não tá esquecendo de nada.
att.