2011-05-13 3 views
0

제어권을 자바 스크립트에서 서버 측으로 매개 변수로 전달합니다.javascript에서 매개 변수로 컨트롤을 서버 측에 전달하는 방법

예컨대

[System.Web.Services.WebMethod()] 
[System.Web.Script.Services.ScriptMethod()] 
public static void StatusSet(string iMode, DropDownList ddList) 
{ 

    List<StatusHandler> iListStatus = new List<StatusHandler>(); 

    iListStatus.Add(new StatusHandler('A', "Active")); 
    iListStatus.Add(new StatusHandler('I', "InActive")); 
    iListStatus.Add(new StatusHandler('L', "All")); 
    if (iMode == "i") 
    { 
     ddList.DataSource = iListStatus.Take(3); 
    } 
    else 
    { 
     ddList.DataSource = iListStatus.Take(2); 

    } 



} 

및 클라이언트 측 코드 PageMethods.StatusSet (modeIndex, $ ("# ddlStatus")) 내 서버 측 코드;

+0

가능한 속담은 http://stackoverflow.com/questions/331146/how-to-pass-array-from-asp-net-server-side-to-javascript-function-on-client-side이고 http://stackoverflow.com/questions/5626518/how-to-pass-javascript-var-to-server-side-on-asp-net – austinbv

답변

0

당신이하려는 것은 불가능합니다. DropDownList는 ASP.NET 서버 측 컨트롤이며 브라우저에는 존재하지 않습니다. JavaScript에서 드롭 다운 목록의 직렬화 된 버전과 비슷한 것을 만들었고 페이지 메서드에 전달한 경우에도 데이터 바인딩을 사용하면 브라우저의 드롭 다운 목록에 아무런 영향을 미치지 않습니다.

  1. 이 페이지 방법이 자바 스크립트에 어떤 형태로 목록 항목을 다시 전달 유무 :

    당신은 당신이 할 (클라이언트의 드롭 다운에 항목의 목록을 업데이트) 할 일을에 대한 두 가지 선택이 드롭 다운에로드 할 수있는 클라이언트 코드

  2. PageMethods가 아닌 UpdatePanel을 사용하고 서버 측 코드에서 데이터 바인딩을 사용하고 드롭 다운 목록 내용을 업데이트하십시오.
관련 문제