javascript - '__doPostBack' 或 '.click()' 哪个更好?

标签 javascript c# jquery asp.net

我在 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/

相关文章:

javascript - 表单元素上的 $watch

c# - 我想测试 AspNetActiveDirectoryMembershipProvider 功能。是否可以在我的本地机器而不是网络中测试它

javascript - jQuery:是否有任何理由不将 DOM 元素存储在变量中而不是将它们附加到 DOM?

javascript - 切换而不是悬停函数 jQuery

javascript - Jquery调用预定义函数?

JavaScript 无法加载 - html js

javascript - 将指令添加到 Angular-xeditable 输入字段

javascript - 我如何将这段代码转换为javascript函数?

c# - 如何从元组字符串中选择最匹配的字符串

c# - 操作返回无效状态代码 'BadRequest' - Microsoft.Azure.Management.ResourceGraph