사용자가 위치 데이터베이스를 통해 위치를 선택할 수 있도록 사용자 지정 위젯을 작성했습니다. 이것은 내 첫 ASP.net 사용자 정의 컨트롤입니다. 모든 것이 잘 작동하는 것처럼 보였지만 지금은 문제가 있습니다. 다음과 같이ASP.net 컨트롤 다시 게시 문제 (사용자가 입력 한 값을 읽을 수 없습니다!)
내 컨트롤은 RaisePostBackEvent 기능을 구현
public void RaisePostBackEvent(string eventArgument)
{
SelectedLocationId = eventArgument.Split('|')[0];
SelectedLocationDescription = eventArgument.Split('|')[1];
}
내가 테스트 페이지를 작성하고 내 ASP 코드에 다음을 포함 :
<%= locationSelector.SelectedLocationId %>
괜찮 았는데 그.
하지만, 내 웹 응용 프로그램에서, 다음 코드는 않습니다 하지 일 : 나는 디버거에서이 코드를 실행하면
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
Response.Write(locationSelector.SelectedLocationId);
// SelectedLocationId is null here!!!
}
은, 내가 보는 나의 페이지로드 이벤트가 발생 포스트 돌아 가기 전에 행사! 따라서 데이터는 아직 포스트 백에서 읽히지 않습니다. 나는 MS가 텍스트 필드 컨트롤을 제공했다는 것을 알고, 페이지로드시 텍스트를 사용할 수 있으므로 뭔가 잘못하고 있다고 생각합니다.
페이지로드 이벤트가 발생하면 사용자가 선택한 위치를 어떻게 읽을 수 있습니까? 명확히하기 위해 웹 응용 프로그램 페이지의 페이지로드를 참조합니다.
, 내가 게시 된 코드는 실제 코드가 아닙니다, 그것은'의 경우 Page.IsPostBack'가 아닌'경우 Page.IsPostBack' 했어야!. 어떤 경우 든 사용자가 페이지의 코드 블록을 사용하여 입력 한 값을 읽을 수는 있지만 페이지로드 이벤트는 읽을 수 없습니다. –