더 이상하는 ASP에 초점을 때 발동하는 C#을 기능을 가져 오기 : 텍스트 상자
<div id="pm-search" class="main-box-body-only min-padding clearfix">
<div class="searchFormNoBox span12">
<span>
<label>App Tracking ID</label>
<asp:TextBox ID="txtAppTrackingID_App" runat="server" Width="100px" OnTextChanged="txtAppTrackingID_App_TextChanged" AutoPostBack="True"></asp:TextBox>
</span>
<span>
<label>Old Status</label>
<asp:DropDownList ID="ddlOldStatus_App" runat="server" AutoPostBack = "true" Width="170px">
<asp:ListItem Value="" Selected="True"></asp:ListItem>
<asp:ListItem Value="AWAITING_CONF">AWAITING_CONF</asp:ListItem>
<asp:ListItem Value="AWAITING_DUPLICATE_FILE">AWAITING_DUPLICATE_FILE</asp:ListItem>
<asp:ListItem Value="CANCELLED">CANCELLED</asp:ListItem>
<asp:ListItem Value="COMPLETE">COMPLETE</asp:ListItem>
<asp:ListItem Value="CONFIRM_APPROVED">CONFIRM_APPROVED</asp:ListItem>
<asp:ListItem Value="CONFIRM_REJECTED">CONFIRM_REJECTED</asp:ListItem>
<asp:ListItem Value="COPY_FINISHED">COPY_FINISHED</asp:ListItem>
<asp:ListItem Value="COPY_STARTED">COPY_STARTED</asp:ListItem>
<asp:ListItem Value="DUPLICATE_FILE_APPROVED">DUPLICATE_FILE_APPROVED</asp:ListItem>
<asp:ListItem Value="DUPLICATE_FILE_REJECTED">DUPLICATE_FILE_REJECTED</asp:ListItem>
<asp:ListItem Value="EMAIL_READY">EMAIL_READY</asp:ListItem>
<asp:ListItem Value="EMAIL_COMPLETE">EMAIL_COMPLETE</asp:ListItem>
<asp:ListItem Value="ERROR">ERROR</asp:ListItem>
<asp:ListItem Value="FILE_PROCESSING">FILE_PROCESSING</asp:ListItem>
<asp:ListItem Value="FILE_READY">FILE_READY</asp:ListItem>
<asp:ListItem Value="FILE_RECEIVED">FILE_RECEIVED</asp:ListItem>
<asp:ListItem Value="HOLD">HOLD</asp:ListItem>
<asp:ListItem Value="PROCESSING_APP">PROCESSING_APP</asp:ListItem>
<asp:ListItem Value="PROCESSING_QC">PROCESSING_QC</asp:ListItem>
<asp:ListItem Value="QUICKCHANGE_READY">QUICKCHANGE_READY</asp:ListItem>
<asp:ListItem Value="READY">READY</asp:ListItem>
<asp:ListItem Value="SCHEDULED">SCHEDULED</asp:ListItem>
<asp:ListItem Value="WEBVIEW_READY">WEBVIEW_READY</asp:ListItem>
</asp:DropDownList>
</span>
protected void txtAppTrackingID_App_TextChanged(object sender, EventArgs e)
{
applicationTrackingID = txtAppTrackingID_App.Text;
ApplicationSettings applicationStatus = new ApplicationSettings(appTrackingID);
appStatus = applicationStatus.StatusCode; // get the full status code name
ddlOldStatus_App.SelectedValue = appStatus;
}
, 위의 기능이 실행됩니다 때 텍스트 상자 "txtAppTrackingID_App "더 이상 초점이 맞지 않습니다.
함수의 목적은보기에 다음을 추가하는 ID
브라우저에서 포커스를 변경하는 것은 클라이언트 이벤트입니다. 서버 코드는 페이지가 렌더링 될 때까지만 실행됩니다. 서버 코드에서이 이벤트를 직접 처리 할 수있는 방법은 없습니다. 자바 스크립트를 작성해야합니다. 전체 페이지의 포스트 백을 강제 실행하는 코드를 작성할 수는 있지만 잔인 할 수 있습니다. 서버에 Ajax 게시를 수행하고 응답을 얻고 그에 따라 클라이언트 코드를 업데이트하는 코드를 작성할 수 있습니다. 하지만 JavaScript로 클라이언트에서 모든 일을 처리하는 것이 가장 쉬운 방법 일 것입니다. –
javascript로 이것을 구현하는 방법에 대한 조언이 있습니까? 필자는 전에 자바 스크립트를 한번도 해 보지 못했지만, 제 목적 상 더 좋을 것이라고 생각합니다. –
좋은 소식은 JavaScript를 사용한 적이 없다면이 작은 것이 시작하기에 알맞은 곳이라는 것입니다. 주어진 엘리먼트가 포커스를 잃었을 때 이벤트 핸들러를 할당하고, 이벤트 핸들러에서'select'의 선택된 값을 설정해야합니다. 나쁜 소식은 SO 답변에서 처음부터 그렇게하는 것이 너무 많다는 것입니다. –