C# $.get added to Button.ClientSideEvents.Click不';不要在第二次点击时工作

C# $.get added to Button.ClientSideEvents.Click不';不要在第二次点击时工作,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,上面来自aspx页面codebehind的C#代码位于callbackpanel中。加载页面时,它将遍历回调代码,将上述函数添加到按钮中。在第一次尝试时,它工作正常,通过处理程序,然后加载页面(带位置)。但是如果您再次尝试,它将跳过处理程序,直接转到页面 我怎样才能使它每次都送到处理程序那里 更新: 我尝试了AJAX方法,但是我被C#中这行的格式卡住了,不被接受 string okumagecmisiStr = string.Format("function(s,e){{ $.get('/Get

上面来自aspx页面codebehind的C#代码位于callbackpanel中。加载页面时,它将遍历回调代码,将上述函数添加到按钮中。在第一次尝试时,它工作正常,通过处理程序,然后加载页面(带位置)。但是如果您再次尝试,它将跳过处理程序,直接转到页面

我怎样才能使它每次都送到处理程序那里

更新:

我尝试了AJAX方法,但是我被C#中这行的格式卡住了,不被接受

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;

是否缺少括号、逗号或其他内容?

$。get将缓存结果。因此,您需要禁用缓存。我认为将缓存设置为false的唯一方法是使用$.ajax,如下所示:

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);
Upate: 您在函数末尾缺少一个“}”:

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

更新的问题…请检查它。我用你的建议更新了上面的代码行,但是我仍然得到格式错误。你确实需要两个“{”来逃避它们。链接:我尝试的新版本在我的问题中正在更新。
function(s,e) {{
  $.ajax({{
     url: '/GetHazirRapor.ashx?RaporTanimi={0}', 
     type: 'GET',
     success: function(data) {{
         location.href='{1}'
     }},
     cache: false
  }})
}}