你能在 .ascx 布局中放置一个 if 语句吗?

Can you place an if statement in .ascx layout?

我是使用 ASP.net 和 .ascx 的新手,现在我看到了一个通过 'OnClientClick' 调用方法的按钮所以代码如下所示:

<asp:Button Text="Save" OnClick="BtnSave_Click" OnClientClick="isBusy();"/>

现在我希望该方法仅调用同一 .ascx 文件中声明的某些定义。因此我认为 ascx 中的 if 语句会起作用。所以我已经尝试过 OnClientClick="if(Text.Length <= maxlength) { isBusy(); } 之类的尝试,但这导致线路根本没有响应。

目前我想知道在这种情况下是否真的可以使用 if 语句。

这是可行的。但是你需要确保你的js是正确的。

在你的问题中,Text.Lengh 是什么?

无论如何,如果您想阻止服务器端 postback,那么在您的 onclick JS 中 return false,这将完全静音 postback 事件

例如

<asp:button runat="server" onclientclick="return false;" />

此按钮永远不会post返回