在将href绑定到链接按钮后执行Ajax方法.之前应该执行的
本文关键字:执行 方法 Ajax 在将 绑定 链接 按钮 href | 更新日期: 2023-09-27 18:02:34
我在使用colorbox插件时遇到了一个与jquery相关的问题
$("[id$=LinkButton1]").click(function() {
var filename=$(this).text();
$.ajax({
type: "POST",
url: "WebService.asmx/lnkbtn1",
data: '{filename: ''' + filename + '''}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
filename=msg.d;
alert("filename1="+msg.d); ----------1.
}
});
alert('Outside ');------2
// $(".iframe").attr('href',filename);---------3
$(".iframe").colorbox({iframe:true, width:"50%", height:"100%"});
});
});
这里当我在gridview中点击带有文件名的链接按钮
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%#((GridViewRow)Container).RowIndex%>'
Text='<%# Bind("FileName") %>' CommandName="ViewImages" CssClass="iframe"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
我使用的是colorbox jquery插件…这里发生的是我得到文件名。然后我把文件名传递给webservice方法(lnkbtn1),处理文件名,然后我将得到一个文件名,我必须在弹出的colorbox中显示它…
但是这里有一个问题。先执行,然后执行1。所以我不能将文件名绑定到'href'
编辑当文件名传递给webmethod时,它首先被转换成html..假设文件类型是word文档或excedlfile,那么它首先转换为html。假设文件名为notes.doc..
filename(notes.doc)被传递给webmethod
将notes.doc转换为notes.html
webmethod返回notes.html
转换为html的原因,因为。doc文件内容不会显示在iframe
请帮…
$ajax是异步的。需要从$ajax得到结果的代码必须在成功处理程序中。您的代码至少应该是这样的(尽可能少地修改,因为我不知道return true;
的目的或filename
变量的确切目的)
$("[id$=LinkButton1]").click(function() {
var filename=$(this).text();
$.ajax({
type: "POST",
url: "WebService.asmx/lnkbtn1",
data: '{filename: ''' + filename + '''}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
filename=msg.d;
alert("filename1="+msg.d); //----------1.
alert('Outside ');//------2
$(".iframe").attr('href',filename);//---------3
$(".iframe").colorbox({iframe:true, width:"50%", height:"100%"});
}
});
return true;
});
});