'__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
。
但是,我想知道两者之间的区别,以及从性能角度看哪一个更好。
请给我建议。
谢谢。
Click最终会调用__doPostBack
,因此从性能的角度来看,这是少了一个函数调用。
但是
__doPostBack
没有文档记录,因此它可能会更改,甚至从任何未来版本中删除,这会导致代码损坏和/或运行时错误。
这是使用"内部使用"或"基础设施"方法时的常见问题,无论是否有记录。作者不能保证这种方法会一直像现在这样。
所以不要使用__doPostBack
。请始终尝试单击或其他更高级别的方法,并让ASP.NET通过使用__doPostBack
或它认为合适的任何其他方法来完成它的工作。