2017-10-06 4 views
0

UI의 다른 요소 (예 : 텍스트 상자 값, 라디오 단추 등)를 참조하는 매개 변수를 데이터를 가져 오기 위해 호출 된 컨트롤러로 전달할 수 있습니까? 자동 완성?검도 사용자 정의 자동 완성 - 결과를 필터링하기 위해 컨트롤러 메서드에 매개 변수를 전달하는 방법

예 : docs의 예에서, 홈 컨트롤러 GetProducts 액션을 호출하면 호출과 함께 매개 변수를 어떻게 보낼 수 있습니까?
또는 더 좋게도, ui의 다른 위젯에서 데이터를 참조하는 값을 포함하는 json 객체를 게시 하시겠습니까?
https://docs.telerik.com/aspnet-mvc/helpers/autocomplete/overview#ajax-binding

@(Html.Kendo().AutoComplete() 
     .Name("productAutoComplete") //The name of the AutoComplete is mandatory. It specifies the "id" attribute of the widget. 
     .DataTextField("ProductName") //Specify which property of the Product to be used by the AutoComplete. 
     .DataSource(source => 
     { 
      source.Read(read => 
      { 
       read.Action("GetProducts", "Home"); //Set the Action and Controller names. 
      }) 
      .ServerFiltering(true); //If true, the DataSource will not filter the data on the client. 
     }) 
    ) 
+0

-Bitshift : - 답변을 살펴볼 기회를 얻었습니까? 마지막으로 본 상태가 1 시간이기 때문에 궁금해합니다. –

답변

0

당신은 추가 데이터 중 하나를 사용하여 객체 경로를 통과 할 수는 일예 값

데이터 방식을 통해
.Read(read => read.Action("Products_Read", "Home", new { name = "test", id = 2 })) 

OR , 부가 파라미터를 반환하는 자바 스크립트 함수를 지정

. 예.

.Read(read => read.Action("Products_Read", "Home").Data("additionalInfo")) 

function additionalInfo() { 
    return { 
    name: "test", 
    id: 2 
    } 
} 

또는 모든 경우에

//By Template Delegate 
    Read(read => read.Action("Products_Read", "Home").Data(@<text> 
     function() { 
      //pass parameters to the Read method 
      return { 
       name: "test", 
       id: $("#search").val() 
      } 
     } 
      </text>)) 

통해 템플릿 위임

, 당신은 당신의 작업에 추가 매개 변수를 추가해야합니다. 예.

public ActionResult Products_Read([DataSourceRequest] DataSourceRequest request, string name, int id) {...} 
+0

예, 저는 그 예를 보았습니다. 제 질문은 행동의 서명과 관련이 있습니다. 이름을 전달하는 대신 id 등 .. "추가"매개 변수를 단일 JSON 객체로 전달할 수 있습니까? 그렇게하면 더 많은 데이터가 전달되어야 할 때 메서드의 서명을 변경해야합니다. – bitshift

+1

좋습니다. 개체에 데이터를 수신 할 수 있습니다. 이름이 정확히 일치해야합니다. 나는 똑같은 시나리오에 직면했고 그것은 나를 위해 일했다. 귀하의 클래스 및 반환 명세서의 속성 이름이 동일해야합니다. –