ASP.net MVC PartialView和Ajax更新DIV问题

时间:2014-06-03 22:54:31

标签: jquery asp.net ajax asp.net-mvc asp.net-mvc-4

我正在尝试使用Ajax和Partial视图更新我的视图的一部分,但是我遇到了一些麻烦: 这是我的控制器:

 [HttpPost]
        public ActionResult Index(StatModel model)
        {
            if (ModelState.IsValid)
            {

                switch (model.SelectedStat)
                {
                    case "agR" : 
                        List<agR> agentr = nbrAGbyR(model.SelectedItemsRegion.ToList());
                        return PartialView("_agByR", agentr);

                    case "demandeR":
                        List<demandeR> demander = nbrDMbyR(model.SelectedItemsRegion.ToList());
                        return PartialView("_dmByR", demander);
                    ... Other case option ....

                }
            }
            ..
            return PartialView();
        } 

这是我的Index.cshtml查看:

@model pfebs0.Models.StatModel
...
<div class="row">
  <div class="col-md-6">
    <h2>Statistique Par region</h2>

@using (Ajax.BeginForm("Index", new AjaxOptions
                                        {
                                            UpdateTargetId = "result",
                                            InsertionMode = InsertionMode.InsertAfter,
                                            HttpMethod = "POST"
                                        }))
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

       @Html.ListBoxFor(m=>m.SelectedItemsRegion, (ViewBag.REGIONID as SelectList))

       @Html.DropDownListFor(m=> m.SelectedStat, Model.statList) 
        <p>
            <input type="submit" value="Create" />
        </p>
}
  ...
    <div class="col-md-10">
        <h2>Resultat</h2>
        <div id="result"></div>
    </div>
    ...

这是我的partialView示例:

@model List<pfebs0.Models.agR>
@using GridMvc.Html

    <h3 id="agR">Statistique Agent generaux par region</h3>

       @Html.Grid(Model).Named("agR").Columns(columns =>
                        {
                            columns.Add(model => model.nbr)
                                .Sortable(false)
                                .Titled("Nombre des Agent's");
                            columns.Add(model => model.regionName)
                                .Sortable(true)
                                .Titled("Nom du region");                           


                        }).WithPaging(10)

当我点击提交按钮时,没有任何事情发生,这里有什么问题?

1 个答案:

答案 0 :(得分:2)

请原谅我只是发布了另一个答案的链接,但这可能就是您要找的内容:Using Ajax.BeginForm with ASP.NET MVC 3 Razor

就个人而言,我从来没有使用过Ajax.BeginForm并且总是使用jquery来表达我的ajaxiness。这个答案确实告诉你如何做到这一点,因为你可能会错过不引人注目的ajax js脚本声明,但我不知道你的截断代码。

希望有帮助!