2014-06-13 5 views
0
string okumagecmisiStr = string.Format("function(s,e){{ $.get('/GetHazirRapor.ashx?RaporTanimi={0}',function(data){{location.href='{1}'}}); }}", hrt.ID, hrt.WebRaporLink); 

ButtonWebRaporAc.ClientSideEvents.Click = okumagecmisiStr; 

위의 C# 코드는 aspx 페이지의 코드 숨김에있는 콜백 패널에 있습니다. 페이지가로드되면 콜백 코드를 통해 위의 기능을 버튼에 추가합니다. 첫 번째 시도에서 핸들러를 통과 한 다음 페이지를로드합니다 (위치 포함). 하지만 다시 시도하면 처리기를 건너 뛰고 페이지로 이동합니다.

매번 처리기로 이동하려면 어떻게해야합니까?

UPDATE :

내가 AJAX의 방법을 시도하기 앞서 갔지만, 내가하지 인정되는 C#에서이 라인의 형식에 갇히지하고있다.

string okumagecmisiStr = string.Format("function(s,e) { $.ajax({ url: '/GetHazirRapor.ashx?RaporTanimi={0}', type: 'GET', success: function(data){ location.href='{1}' }, cache: false })", hrt.ID, hrt.WebRaporLink); 

브래킷이나 쉼표가 없습니까?

답변

2

$ .get 결과가 캐시됩니다. 따라서 캐싱을 비활성화해야합니다.

function(s,e) {{ 
    $.ajax({{ 
    url: '/GetHazirRapor.ashx?RaporTanimi={0}', 
    type: 'GET', 
    success: function(data) {{ 
     location.href='{1}' 
    }}, 
    cache: false 
    }}) 
}} 
: 함수의 끝에서 귀하의 누락 "}"

$.ajax({ 
    url: "/GetHazirRapor.ashx?RaporTanimi=", 
    "type": "GET", 
    success: function(data){ 
     location.href = '' 
    }, 
    cache: false 
}); 

Upate : 나는 false로 캐시를 설정하는 유일한 방법 대신 다음과 같이 $ 아약스를 사용하는 것입니다 생각

+0

업데이트 된 질문 ... 확인해주세요. – Musaab

+0

제안한 내용으로 위의 코드 줄을 업데이트했지만 형식 오류가 계속 발생합니다. – Musaab

+0

실제로 두 개의 "{"가 필요합니다. 링크 : http://msdn.microsoft.com/en-us/library/txafckwd.aspx – Brian

관련 문제