2012-05-24 2 views
0

가 여기 내 ASP.NET MVC 프로젝트 내 편집기 템플릿입니다 :ASP.NET MVC 편집기 템플릿; 매개 변수를 컨트롤러에 전달

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 
<%= Html.Telerik().DropDownList() 
     .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) 
     .DataBinding(binding => binding.Ajax().Select("GetTypeDataforRow","MyController")) 
%> 

내 콤보 상자에 대한 데이터를 검색하기 위해 내 컨트롤러에서 GetTypeDataforRow 방법을 사용하고 있습니다. GetTypeDataforRow 메서드에 매개 변수를 전달하는 방법이 있습니까? 그렇다면이 구문은 무엇입니까? 내 드롭 다운은이 메소드에 전달 된 매개 변수에 따라 다른 데이터를 표시합니다.

도움을 주셔서 감사합니다.

답변

0

이 주제에 대한 정보는 here입니다. 공식 문서에는 DropDownList 분기가없는 것으로 보이지만 ComboBox가 처리합니다. 그것은 당신이 이런 일을해야 바인딩 Ajax를 사용하여 컨트롤러에 매개 변수를 전달하는 것을 말한다 :

.DataBinding(dataBinding => dataBinding 
    //Ajax binding 
    .Ajax() 
      //The action method which will return JSON and its arguments 
      .Select("_AjaxBinding", "Home", new {id = (string)ViewData["id"]}) 
) 

한 순간이있다 : 당신을 ViewData이를하기 때문에이 방법을 사용하여 콤보 상자의 값을 얻을 수 없다 서버 측 컨테이너. 대신 다음과 같이 자바 스크립트를 사용해야합니다.

<script type="text/javascript"> 

function onComboBoxDataBinding(e) { 
    e.data = $.extend({}, e.data, { customParam: "customValue"}); 
} 

</script> 

희망적이라면 어쨌든 도움이됩니다.

관련 문제