2011-01-12 3 views
0

У меня есть контроллер, который возвращает пользовательскую модель обратно к своему представлению. Внутри этой модели есть набор продуктов и цен, которые отображаются в представлении, наряду с другой информацией, которая требуется на странице.MVC и шаблон jQuery?

Тем не менее, я хотел бы использовать шаблоны jQuery, чтобы разрешить AJAX-обновление этих продуктов и цен.

Я полагаю, что его невозможно отобразить с начальными значениями, так как я могу вернуть модель, которая включает в себя как «статическую» информацию (то есть, не часто на странице), а также информацию, которую я хочу включить в шаблон как он будет меняться в зависимости от ввода пользователя?

+0

извинения, но у меня возникли проблемы при разборе последний абзац. Можете ли вы сказать больше о том, чего вы пытаетесь достичь? Вы хотите отобразить исходный HTML на сервере (используя обычные методы просмотра, бритву и т. Д.) И что вы хотите обновить этот HTML через шаблоны Ajax + позже? Или вы хотите всегда генерировать html через шаблон, и вы спрашиваете, как передать модель на ваш javascript для этого первого рендеринга? –

ответ

0

Вы можете загрузить содержимое с помощью 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); 
     } 
+0

Я хочу использовать шаблоны jQuery, но вместо того, чтобы испускать собственный html. – FloatLeft

+0

Смотрите: http://stephenwalther.com/blog/archive/2010/11/30/an-introduction-to-jquery-templates.aspx – FloatLeft

+0

На самом деле, я думаю, что нашел ответ здесь: http: // www .nickriggs.com/сообщений/рендер-Your-модель-с-клиент-бок JQuery-шаблоны-вместо-оф-Asp-нетто-MVC-парциальное-просмотров / – FloatLeft

Смежные вопросы