C# $.get added to Button.ClientSideEvents.Click不';不要在第二次点击时工作
上面来自aspx页面codebehind的C#代码位于callbackpanel中。加载页面时,它将遍历回调代码,将上述函数添加到按钮中。在第一次尝试时,它工作正常,通过处理程序,然后加载页面(带位置)。但是如果您再次尝试,它将跳过处理程序,直接转到页面 我怎样才能使它每次都送到处理程序那里 更新: 我尝试了AJAX方法,但是我被C#中这行的格式卡住了,不被接受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
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
}})
}}