2014-01-20 56 views
0

我想根据ViewBag值允许的ViewBag.Category过滤下面的ProductData下拉列表。我需要传递给GetProductData()的viewbag值。我怎么能做到这一点。谢谢绑定KendoUi下拉列表

$("#ProductData").kendoDropDownList({ 
      dataTextField: "OptionName", 
      dataValueField: "OptionID", 
      optionLabel: { 
       OptionName: "Please Select", 
       OptionID: "" 
      }, 
      dataSource: { 
       transport: { read: { url: '@(Url.Content("~/ProductDetails/GetProductData"))'} } 
      } 

     }); 



<input type="ProductData" id="ProductData" name="ProductData" required validationMessage="Please select a product" style="width:110px; font-size:11px; margin-left:12px"/><span class="k-invalid-msg" data-for="ProductData"></span> 

控制器:

//需要筛选基于viewbag.category值要发送参数getProductData

public JsonResult GetProductData() 
     { 
      var productList = new TREntities(); 
      string Role = ViewBag.Role; 
      return Json(productList .ConfigOptions.Select(c => new { OptionID = c.OptionID, OptionName = c.OptionName, OptionDetails = c.OptionDetails, OptionTypeID = c.ConfigTypeID }) 
         .OrderBy(c => c.OptionName).Where(e => e.OptionID == 33), JsonRequestBehavior.AllowGet); 

    } 
+0

做()? Like getProductData(string catagory)? – MustafaP

+0

是的。字符串类别应该来自我认为使用viewbag的剃刀页面。欢迎任何其他想法thx – Supermode

回答

1
transport:{ read: { 
      dataType: "json", 
      url: "ProductDetails/GetProductData", 
      data: getTestData 
     }} 

     function getTestData() 
     { 
       return {testID: parameterToSent} // you can take parameterToSent from where you want 
     }; 

public JsonResult GetProductData(string testID) 
    { 
     ... 

    } 
+0

这就是你从参数发送参数到控制器的方式。我不知道你的控制器功能是真是假 – MustafaP