2017-12-26 27 views
0

Onclientclick을 내 hiddenfield에 문자열 값으로 저장하려고하지만 Server.Transfer() 때문에 생각하지 않습니다.ASP.Net Server.Transfer 및 Hiddenfield

내 드롭 다운 값을 변경하면 내 포스트 백 (Dropdownlist)에 대한 유일한 컨트롤은 내 코드에서 마지막으로 Server.Transfer 작업을 가져옵니다. 여기

코드입니다 : 여기
$(document).ready(function() { 

    alert($("[id*=hdnSelectedDiv]").val()); 
}); 

function SaveDiv(value) { 
    $("[id*=hdnSelectedDiv]").val(value); 
} 

    <asp:LinkButton runat="server" CssClass="card-link" ID="lnkGoToLogin" OnClientClick="SaveDiv('dvLogin');return false;" meta:resourcekey="lnkGoToLoginRes"></asp:LinkButton></p> 

가 내 OnSelectedIndexChanged :

준비 경고가 내 값은 항상 empty.I 내 문서에 값을 설정하려고하고 값을 경고입니다 문서에
CurrentSession.SetCurrentLanguage(ddl.SelectedValue); 
     ddl.SelectedValue = CurrentSession.CurrentLanguage.IetfLanguageTag; 
     Thread.CurrentThread.CurrentCulture = new CultureInfo(ddl.SelectedValue); 
     Thread.CurrentThread.CurrentUICulture = new CultureInfo(ddl.SelectedValue); 
     Server.Transfer(Request.Url.AbsolutePath); 

그것은 working.but하지만 linkbutton을 클릭하고 포스트 백 후에 내 드롭 다운에서 옵션을 선택하면 내 값이 비어 있습니다.

어떻게 해결할 수 있습니까? Response.Redirect();

+0

무엇을 사용하든 포스트 백이 계속 발생하고 페이지가 새로 고침됩니다. 즉, 수동으로 설정 한 DOM에있는 항목을 모두 다시 채워야합니다. 원하지 않는다면 [XMLHttpRequest] (https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) (AJAX)를 사용하여 시합. – mason

+0

정확하게 이해할 수 없다. 나는 포스트 백 이후에만 hiddenfield에서 가치를 얻고 싶다. 다시 포스트 백하기 전에 내 hiddenfileld에 내 값을 저장해야한다. 왜 수동으로 다시 채워야 하는가? –

+0

다른 페이지로 전송 중이기 때문입니다. 리디렉션 또는 전송 여부는 관련이 없습니다. 새로운 DOM을 사용하여 어느 쪽이든 새로운 페이지를 얻게 될 것입니다. – mason

답변

1

숨겨진 필드는 name 속성이어야합니다.

서버 코드 내에서 포스트 백이 발생하면 게시 된 값을 검색 할 수있는 순간입니다. 이것은 Server.Transfer이 실행을 시작한 후에 소스 컨텍스트가 사라지기 때문에 처리 할 시간입니다. 대상 요청 (핸들러가 전달됨) 내에 해당 값이 필요하면이를 전달해야합니다. 선택할 수있는 옵션은 영구 저장 공간 (예 : 데이터베이스), 세션 (귀하의 경우에 가장 좋음), 검색어입니다.

+0

답변을 주셔서 감사합니다. 나는 쿼리를 사용합니다 :) –