我在 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
。
但是,我想知道两者之间的区别,以及从性能 Angular 来看哪个更好。
请给我建议。
谢谢。
最佳答案
Click 最终会调用 __doPostBack
,因此从性能 Angular 来看,这减少了一次函数调用。
但是
__doPostBack
没有记录,因此它可能会更改,甚至从任何 future 版本中删除,从而导致代码损坏和/或运行时错误。
这是使用“内部使用”或“基础设施”方法(无论是否有记录)时的常见问题。作者不保证这些方法将始终与现在的方式相同。
所以不要使用__doPostBack
。始终尝试单击或其他更高级别的方法,并让 ASP.NET 完成其工作,可以使用 __doPostBack
或它认为合适的任何其他方式。
关于javascript - '__doPostBack' 或 '.click()' 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26886196/