在MVC

0

劍道ListView控件的實現,我想實現劍道UI的MVC的ListView控件我試圖用我的模型綁定列表視圖,但我得到此錯誤:在MVC

「CS1977:無法首先將其轉換爲委託或表達式樹類型時,不能將lambda表達式用作動態分派操作的參數」

我檢查了一些其他問題在stackoverflow與相同的錯誤,但我無法知道這個錯誤的原因,因爲這是kendo語法,並且我的代碼沒有任何錯誤,據我所知。

的錯誤是在這一行:: .DataSource(ds => ds

查看頁:

@{ 
    ViewBag.Title = "Courses"; 
} 
@using Kendo.Mvc.UI 

<h2>Courses</h2> 

<a href="/Home/Registration">Back</a> 

<div class="bodywrap"> 
    <div class="CommonClass"> 

     @(Html.Kendo().ListView<K_SampleProject.Models.CourseModel>(Model) 
      .Name("listView") 
      .TagName("div") 
      .ClientTemplateId("template") 
      .DataSource(ds => ds 
      .Model(model => 
      { 
       //The unique identifier (primary key) of the model is the ProductID property 
       model.Id(p => p.ProductID); 

       // Declare a model field and optionally specify its default value (used when a new model instance is created) 
       model.Field(p => p.ProductName).DefaultValue("N/A"); 

       // Declare a model field and make it readonly 
       model.Field(p => p.UnitPrice).Editable(false); 
      }) 
) 
    .Pageable() 
     ) 
    </div> 
</div> 


<script type="text/x-kendo-tmpl" id="template"> 
    <div class="product"> 
     <img src="@Url.Content("~/content/web/foods/")${ProductID}.jpg" alt="${ProductName} image" /> 
     <h3>${ProductName}</h3> 
     <dl> 
      <dt>Price:</dt> 
      <dd>${kendo.toString(UnitPrice, "c")}</dd> 
     </dl> 
    </div> 
</script> 

Model 
namespace K_SampleProject.Models 
{ 
    public class CourseModel 
    { 
     public List<tbl_Courses> CourseList { get; set; } 
     public string ProductID { get; set; } 
     public string ProductName { get; set; } 
     public string UnitPrice { get; set; } 
    } 
} 

Controller 
    public ActionResult Courses() 
     { 
      CourseModel Model = new CourseModel(); 
      RegistrationService ObjService = new RegistrationService(); 
      Model.CourseList = ObjService.GetCourses(); 
      return View(Model); 
     } 
+0

你有沒有通過模型來對此有何看法?您應該添加:「@model K_SampleProject.Models.CourseModel」,並將該模型傳遞給此視圖,除非您從父視圖中隱式執行。 您傳遞的模型是否具有正確的類型(K_SampleProject.Models.CourseModel)? – 2014-09-24 06:48:08

+0

當我嘗試通過模型的視圖頁面,它給編譯錯誤 關於「Kendo.Mvc.UI.Fluent.WidgetFactory.ListView (System.Collections.Generic.IEnumerable最好重載方法匹配)」有一些無效參數 – Sweetie 2014-09-24 06:56:16

+0

我已經更新我的模型和控制器代碼也問題。請看看這個。 – Sweetie 2014-09-24 06:58:27

回答

0

在你的代碼的主要錯誤是,你通過單一CourseModel類的列表中,當預計的名單CourseModel。 所以,你的控制器應是這樣的:

public ActionResult Courses() 
    { 
     List<CourseModel> result; 
     CourseModel Model = new CourseModel(); 
     RegistrationService ObjService = new RegistrationService(); 
     Model.CourseList = ObjService.GetCourses(); 
     result.Add(Model); 
     return View(result); 
    } 

我還建議:

  • 在查看
  • 的頂部添加@model List<CourseModel>如果是PartialView變化回報(如指數不主視圖)爲:return PartialView(result);