'__doPostBack';或';.单击()';哪个更好

本文关键字:更好 doPostBack 单击 | 更新日期: 2023-09-27 18:30:04

我在ASP.Net web应用程序中使用javascript。我使用__doPostBack.click()事件来调用服务器端方法或代码隐藏方法,如下所示。

<input id="btnBindGridTrigger" runat="server" type="button" style="display:none" onserverclick="btnBindGridTrigger_Click" />
function tabClickEnt() {
    __doPostBack('btnBindGridTrigger', '');
    document.getElementById('btnBindGridTrigger').click();
    // both is working fine but which is better and what id diffrence between above both ?
}
protected void btnBindGridTrigger_Click(object sender, EventArgs e)
{
    BindGrid();
    // other stuff
}

上面的代码运行得很好。无论是我在js函数中使用了__doPostBack还是.click(),两者都会起作用,并且两个方法都会调用服务器端事件btnBindGridTrigger_Click

但是,我想知道两者之间的区别,以及从性能角度看哪一个更好。

请给我建议。

谢谢。

'__doPostBack';或';.单击()';哪个更好

Click最终会调用__doPostBack,因此从性能的角度来看,这是少了一个函数调用。

但是

__doPostBack没有文档记录,因此它可能会更改,甚至从任何未来版本中删除,这会导致代码损坏和/或运行时错误。

这是使用"内部使用"或"基础设施"方法时的常见问题,无论是否有记录。作者不能保证这种方法会一直像现在这样。

所以不要使用__doPostBack。请始终尝试单击或其他更高级别的方法,并让ASP.NET通过使用__doPostBack或它认为合适的任何其他方法来完成它的工作。