【问题标题】:MVC and jQuery template?MVC 和 jQuery 模板?
【发布时间】:2011-01-12 14:05:58
【问题描述】:

我有一个控制器,它将自定义模型返回到它的视图。在此模型中,是在视图中呈现的产品和价格的集合,以及页面所需的其他信息。

但是,我想使用 jQuery 模板来允许对这些产品和价格进行 AJAX 更新。

我猜它不可能用初始值呈现模板,所以我如何返回一个包含“静态”信息(即不会在页面上更改)以及我确实希望包含在模板中的信息的模型它会根据用户的输入而改变吗?

【问题讨论】:

  • 抱歉,但我无法解析最后一段。你能说更多关于你想要完成的事情吗?您是否希望在服务器上呈现初始 HTML(使用普通的 View 技术、剃刀等),并且您希望以后能够通过 Ajax+模板刷新该 HTML?还是您希望始终通过模板生成 html,并且您正在询问如何将模型传递给您的 javascript 以进行第一次渲染?

标签: jquery asp.net-mvc templates


【解决方案1】:

您可以通过 jquery 从您的控件中加载内容,如下所示:

jquery:

function lastPostFunc(movies) {

            $.each(movies, function(i) {

                var milli = this.ReleaseDate.replace(/\/Date\((-?\d+)\)\//, '$1');
                var d = new Date(parseInt(milli));

                $("#Movie_list").append("<tr class=wrdLatest id=" + this.Id + "><td>" + this.Id + "</td><td>" + this.Title + "</td><td>" + d + "</td><td>"
         + this.Genre + "</td><td>" + this.Price + "</td><td>" + this.Rating + "</td></tr>");
            });

        }
        $(window).scroll(function() {
            if ($(window).scrollTop() + 100 > $(document).height() - $(window).height()) {

                var name = id; //$(".wrdLatest:last").attr("id");
                var value = { skip: name };
                $.post("/Movies/GetMovies/", value, lastPostFunc, "json");
                id += 50;
            }
        }); 

控制器

[AcceptVerbs(HttpVerbs.Post)]
        public ActionResult GetMovies(string skip)
        {
            // caching the categories 

            int idtoSkip = Convert.ToInt32(skip);
            var movies = from m in _db.Movie
                         where m.Id > idtoSkip & m.Id < idtoSkip + 50
                         select m;
            return Json(movies);
        }

【讨论】:

猜你喜欢
  • 2023-03-24
  • 1970-01-01
  • 2011-08-18
  • 2018-12-02
  • 2015-10-25
  • 2013-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多