0
나는이 같은 페이지 방법을 사용하는 경우 : 내가 페이지 방법에서 서버 컨트롤에 액세스하는 방법은 값의 설정 라벨에 액세스 할 수 없습니다페이지 메서드에서 서버 컨트롤에 액세스하는 방법?
[System.Web.Services.WebMethod]
public static string GetSearchResult(string searchKeyword)
{
ArrayList searchResultRows = new ArrayList();
Random random = null;
for (int resultCount = 0; resultCount < 10; resultCount++)
{
random = new Random(resultCount);
searchResultRows.Add(string.Concat(searchKeyword, random.Next().ToString()));
}
GridView resultRepeater = new GridView();
resultRepeater.DataSource = searchResultRows;
resultRepeater.DataBind();
StringBuilder stringBuilder = new StringBuilder();
System.IO.StringWriter textWriter = new System.IO.StringWriter(stringBuilder);
HtmlTextWriter htmlTextWriter = new HtmlTextWriter(textWriter);
resultRepeater.RenderControl(htmlTextWriter);
if (HttpContext.Current != null)
{
Page page = (Page)HttpContext.Current.Handler;
Label lbl = (Label)page.FindControl("lbl_test");//null
lbl.Text = searchResultRows[0].ToString();//exception
}
return stringBuilder.ToString();
}
내 기존 라벨
lbl_test
를 업데이트 할
하지만를 ?
방법이 없습니다, 당신은의 WebMethod에서 페이지에서 아무것도 액세스 할 수 없습니다 여기서는 일련의 처리 단계를 수행합니다. 여기에는 초기화, 컨트롤 인스턴스화, 상태 복원 및 유지 관리, 이벤트 처리기 코드 실행 및 렌더링이 포함됩니다. –
간단히 말해서, 당신은 할 수 없습니다. WebMethod는 서버 측입니다. – Furtiro
@TimSchmelter : 고마워요 –