在asp.net mvc中无需重新加载页面进行排序

时间:2015-02-26 09:52:57

标签: c# ajax asp.net-mvc asp.net-ajax

我是asp.net&的新手我正在尝试创建一个网站,用户可以在登录后对表格进行排序。到目前为止排序工作正常,但每次我点击链接,页面重新加载&数据被排序。相反,我只想在点击链接后更新表格。我试图在我的视图中使用AJAX但没有发生任何事情。这是我的代码,

控制器

public ActionResult Login(string sortOrder)
    {
        if (Session["UserNAME"]!=null)
        {
            ViewBag.CodeSort = String.IsNullOrEmpty(sortOrder) ? "code_desc" : "";
            var sortedOut = new MkistatVsUserLogin { mkistats = dsedb.mkistats.AsQueryable() };

            switch (sortOrder)
            {
                case "code_desc":
                    sortedOut.mkistats = sortedOut.mkistats.OrderByDescending(s => s.MKISTAT_CODE);
                    break;
                default:
                    sortedOut.mkistats = sortedOut.mkistats.OrderBy(s => s.MKISTAT_INSTRUMENT_CODE);
                    break;
            }
            return View(sortedOut);
        }
        else
        {
            return RedirectToAction("Home");
        }
    }

查看

<th>@Html.ActionLink("Codename", "Login", new { sortOrder = ViewBag.CodeSort }, new AjaxOptions
        {
            HttpMethod = "GET",
            UpdateTargetId = "mktTable",
            InsertionMode = InsertionMode.Replace
        })</th>

我该如何解决这个问题?真的非常需要这个帮助。 TNX。

1 个答案:

答案 0 :(得分:0)

您应该使用@Html

,而不是使用@Ajax

要在您的应用程序中启用Ajax,您需要在视图上使用jQuery。如果您要创建默认设置,则应该已包含并设置。