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;
来自aspx页面代码隐藏的上述C#代码位于回调面板中。加载页面时,它会通过回调代码,将上述功能添加到按钮。它在第一次尝试时工作正常,通过处理程序,然后加载页面(带位置)。但是如果你再试一次,它会跳过处理程序,然后转到页面。
我怎样才能让它每次都进入处理程序?
更新
我继续尝试使用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);
我错过了括号或逗号或其他内容吗?
答案 0 :(得分:2)
$ .get将缓存结果。所以你需要禁用缓存。我认为将缓存设置为false的唯一方法是使用$ .ajax,如下所示:
$.ajax({
url: "/GetHazirRapor.ashx?RaporTanimi=",
"type": "GET",
success: function(data){
location.href = ''
},
cache: false
});
<强> Upate:强> 你在函数末尾缺少一个“}”:
function(s,e) {{
$.ajax({{
url: '/GetHazirRapor.ashx?RaporTanimi={0}',
type: 'GET',
success: function(data) {{
location.href='{1}'
}},
cache: false
}})
}}