首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

MVC3 Jquery Ajax,该怎么解决

2012-06-07 
MVC3JqueryAjaxHTML code@model MvcWithAjax.Models.SoSoKe_Ad@{ViewBag.Title Index}script type

MVC3 Jquery Ajax

HTML code
@model MvcWithAjax.Models.SoSoKe_Ad@{    ViewBag.Title = "Index";}<script type="text/javascript" src="../../Scripts/jquery-1.6.2.js"></script><h2>Index</h2><script type="text/javascript">    $(function () {        $("form").submit(function () {            $.ajax({                url: $(this).attr("action"),                type: "post",                data: $(this).serialize(),                success: function (data) {                    alert(data.msg);                }            });        });    })</script>@using (Html.BeginForm()) {    <fieldset>        <legend>广告</legend>        <div>编号:@Html.TextBoxFor(model => model.Ad_ID)</div>        <div>信息:@Html.TextBoxFor(model => model.Ad_Info)</div>        <div>            <input type="submit" value="提交" />        </div>    </fieldset>}




C# code
    public class HomeController : Controller {        //        // GET: /Home/        public ActionResult Index() {            return View();        }        [HttpPost]        public ActionResult Index(SoSoKe_Ad ad) {            return Json(new { msg = "1" });        }    }


  [HttpPost]
  public ActionResult Index(SoSoKe_Ad ad) {
  return Json(new { msg = "1" });
  }

这个方法中实体类接收到的信息是正确的  
可是返回的时候直接跳出个新的网页并没有alert 是什么情况?
求助啊~~~



[解决办法]
public ActionResult Index(SoSoKe_Ad ad) 修改为 public ActionResult Index2(SoSoKe_Ad ad) 试试,方法名称不能相同
[解决办法]
你这样是直接post而不是触发的ajax事件,mvc3里ajax提交表单用Ajax.BeginForm().

[解决办法]
试一下这样
C# code
@using (Ajax.BeginForm()) {    <fieldset>        <legend>广告</legend>        <div>编号:@Html.TextBoxFor(model => model.Ad_ID)</div>        <div>信息:@Html.TextBoxFor(model => model.Ad_Info)</div>        <div>            <input type="submit" value="提交" />        </div>    </fieldset>}
[解决办法]
JScript code
 $("form").submit(function () {      AJAX操作...      return false; }); 

热点排行