문제

이벤트를 저장하는 데이터베이스와 캘린더 개체가있는 페이지가 있습니다. 일을 렌더링 할 때는 달 이벤트를 통해 보이는 날과 일치하는 일에 일치하는 경우 렌더링 버튼을 생성하여 캘린더의 날에 이벤트를 나타 내고 해당 셀에 추가합니다. QueryString에서 eventID를 전달하는 이벤트 세부 사항을 볼 수 있도록 Window.Location을 페이지로 변경하기 위해 링크 버튼에 javaScript를 추가했습니다 (새로 만든 LinkButton의 포스트 백을 설정하려고 시도했지만 우편 백을 유발하지 않았습니다). 세션 변수를 설정해야합니다. 세션 ( "editMode") = "편집"이므로 새 페이지가 새 이벤트를 작성하기 위해 기존 이벤트 정보를 얻는 것임을 알 수 있습니까? 제안이 있습니까?

도움이 되었습니까?

해결책

세션 VAR은 서버에 의해 제어되며 JS는 클라이언트 측면을 실행하므로 VAR을 직접 수정할 수 없습니다.

Post 또는 Get and Hidden Iframes 또는 XMLHTTPREQUEST () 호출을 사용하여 서버 요청을 작성하여 JS에서 서버로 데이터를 보내고 서버 측 코드가 Vars를 처리하도록해야합니다.

페이지가 기존 대 새로 트리거하는 데 사용할 수있는 다른 쿼리 문자열 변수를 추가하십시오.

다른 팁

페이지가 기존 대 새로 트리거하는 데 사용할 수있는 다른 쿼리 문자열 변수를 추가하십시오.

struts2와 같은 것을 사용하는 경우 JSP에 숨겨진 변수를 가질 수 있습니다.

<s:hidden id="EditModeId" value="%{#session.EditMode}"/> 

JavaScript 내 에서이 변수에 액세스하십시오

alert(document.getElementById('EditModeId').value);

대상 페이지에 변수를 추가해야합니다. 그러나 팝업 시나리오를 수행하고 있으므로 javaScript 함수 OpenWindow ()를 생성하고 사용자가 링크를 클릭하면 해고 할 수 있어야합니다.

<script>
function OpenWindow(eventId, editMode)
{
    var window = window.open("popup.aspx?eventId=" + eventId + "&editMode=" + editMode);
}
</script>

서버 측에서는 OpenWindow 함수에 대한 호출을 구축해야합니다. 예를 들어:

onclick="OpenWindow(eventId=" + row["eventId"].ToString() + "&editMode=" + editMode.ToString() + ");"

즉, 서버 사이드의 모든 것을 준비하여 JavaScript를 설정하여 모든 변수를 새 페이지에 게시하도록 설정하십시오. 도움이 되었기를 바랍니다.

var page1 = document.getElementById("textbox").value; 
sessionStorage.setItem("page1content", page1);

다른 페이지 에서이 값을 같은 세션 변수로 사용하십시오.

document.getElementById("textbox2").value=sessionStorage.getItem("page1content");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top