Javascript $(“form”)attr(“method”和“post”)在java脚本ASP.NET中

Javascript $(“form”)attr(“method”和“post”)在java脚本ASP.NET中,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个网格视图,其中有一个显示ID的超链接按钮,通过单击该按钮,我向服务器发出Ajax调用,并获取特定的URL,以根据ID进行导航 在新选项卡/窗口中打开相应页面的代码 function RedirectPageUrl(rqstID) { $("#formMain").attr("action", rqstID); $("#formMain").attr("method", "post"); $("#formMain").attr('target', '_blank');

我有一个网格视图,其中有一个显示ID的超链接按钮,通过单击该按钮,我向服务器发出Ajax调用,并获取特定的URL,以根据ID进行导航 在新选项卡/窗口中打开相应页面的代码

function RedirectPageUrl(rqstID) {           
$("#formMain").attr("action", rqstID);
$("#formMain").attr("method", "post");
$("#formMain").attr('target', '_blank');
$("#formMain").submit();
return false;
}
这里我的问题是,在点击第一个超链接按钮后,一切都很正常,但之后每当我点击任何控件(比如按钮)时,上一个打开的表单就会打开。
如何摆脱它?有什么想法吗?

因为您已经修改了页面上主窗体的
操作
和其他属性,我猜它们是相同的
\formMain'。因此,下一次每当您尝试单击任何回发到服务器的按钮时,它都会将表单提交到上一次
RedirectPageUrl`方法调用设置的操作

您可以尝试这样的方法,基本上是使用不同的表单重定向到另一个页面。这样,主
表单
保持不变,页面上的其他功能不受影响

function RedirectPageUrl(rqstID) {           
    var $redirectForm = $('#redirectForm');
    if($redirectForm.length == 0){
        $redirectForm = $('<form id="redirectForm" method="post" target="_blank" />')
                        .appendTo(document.body);
    }
    $redirectForm
         .attr("action", rqstID)
         .submit();
    return false;
}
函数重定向页面URL(rqstID){
var$redirectForm=$(“#redirectForm”);
如果($redirectForm.length==0){
$redirectForm=$('')
.附录(文件正文);
}
$redirectForm
.attr(“行动”,rqstID)
.submit();
返回false;
}

此处#formMain位于母版页中,因此通过添加新表单进行重定向,我可能会丢失母版页的所有外观。因此,重定向后无法恢复操作属性。在正文元素末尾添加新表单不会影响页面。试试看。所以如果我得到了你,我就不必在我的母版页HTML中做任何更改,对吗#redirectForm将在运行时创建???如果对您有帮助,请将此标记为答案。上述解决方案满足我的要求,但不完全满足。现在,通过单击任何控件(比如按钮),先前打开的表单不会打开,但通过单击任何控件,网页将重新初始化(如果(!IsPostBack)代码块而不是IsCallBack代码块,则控制流将进入内部)