응답 주셔서 대단히 감사합니다 아래의 논리를 사용하지만, 그게 내가 찾던 아니다.
실제로이 문제를 해결하기 위해 수행 한 작업은 Page.aspx에서 호출 할 수있는 Default.aspx 페이지에서 JavaScript 함수를 만드는 것이 었습니다.
이것은 Default.aspx 페이지의 함수로 필요한 Tab을 활성화하고 Page1.aspx의 WebDataGrid에서 필요한 값으로 검색 상자를 채 웁니다.
<script type="text/javascript">
function activateTab(rowId, tabId) {
var tab = $find("WebTab1");
var ctl;
if (tabId == 3) {
ctl = window.frames.document.frames[tabId].window.document.getElementById("WebDialogWindow2_tmpl_txtAddressNumber");
}
else if (tabId == 2)
ctl = window.frames.document.frames[tabId].window.document.getElementById("WebDialogWindow2_tmpl_txtAccount");
if (ctl != null) {
ctl.value = rowId;
tab.set_selectedIndex(tabId, true, null);
window.frames.document.frames[tabId].window.DoSearch(rowId);
}
}
</script>
내가 다음 WebDataGrid의 DoubleClick 이벤트에서 호출 다음 함수와 Page1.aspx라는에서 activateTab() 함수를 호출 할 수 있었다 (내가 선택한 행에서 값을 잡기 위해 필요 .) 다음 단계는 첫 번째 코드 예에 나타낸 바와 같이 activateTab Default.aspx를 ON() 함수에서 Page2.aspx에서이 자바 스크립트 함수를 호출
function doubleClickRow() {
var grid = $find("WebDataGrid1");
//Get the ADDRESS_NUMBER value.
var rowId = grid.get_behaviors().get_selection().get_selectedRows().getItem(0).get_cell(2).get_value();
window.parent.activateTab(rowId, 3);
}
이었다.
//Force a Postback
function DoSearch(id) {
HideSearch();
__doPostBack("WebDataGrid1", id);
}
실제로이 작업은 필자가 필요로하는 포스트 백을 수행하여 수행해야하는 작업입니다. 이러한 2 __doPostBack() 값을 Page2.aspx Page_Load 이벤트로 전달하려면 다음을 수행해야합니다. 그러나 제 경우에는 검색 상자에 이미 채워져 있기 때문에 포스트가 필요했습니다.당신이 그렇지 않으면 당신은 내가 여기에받지 않습니다 자신의 매개 변수를 코딩해야하는 스크립트 관리자를 사용하는 경우 __EVENT의 * 코드 마지막 부분을 이해하지 못하는 사람들을 위해
//Don't need these right now, but just in case we might I'll leave them in.
string eventTarget = Page.Request.Params.Get("__EVENTTARGET");
string eventArgument = Page.Request.Params.Get("__EVENTARGUMENT");
Search();
, 그것은 가능합니다.
그게 전부입니다. 나는 여기서 JavaScript를 배웠다. 그래서 다른 누군가에게 도움이되기를 바란다.
감사 데이브
나는 아직도 내가 다른 각도에서 찾고 있어요이를 생각하지 않았습니다. Page1.aspx에서 사용자 지정 이벤트를 구독 할 Default.aspx 페이지에서 Listener를 만들 수 있습니까? .. 아니면 그냥 나쁜 디자인인가? Page1과 Page2를 Controls로 바꾼다면 필요한 것을 할 수 있습니다. 현재 설정으로 가능한지 알기 원하면 다시 코딩 할 필요가 없습니다. –