2017-10-05 45 views
0

我是新与ASP.net和的.ascx工作,现在我已经看到了一个按钮,通过“的OnClientClick”因此,代码看起来像这样调用一个方法:你可以在.ascx布局中放置if语句吗?

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

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

目前我想知道在这种情况下if语句是否可能。

+0

“根本没有回应”......您的控制台中可能存在JavaScript错误,因此请学会检查这些错误,它可以为您提供有关发生错误的线索。您当然可以在ASCX中执行'if'...但是在“OnClientClick”中,您正在使用JavaScript编写代码,因为这是在_client_即浏览器上执行的代码。你提到的变量是否存在于你的页面的JavaScript中?如果没有,你可能会得到未定义的错误。你也可以用你的服务器端语言(C#?VB.NET?)编写'if',但不是那样。如果你能澄清你的实际目标,这可能会有所帮助。 – ADyson

回答

0

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

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

什么,如果你想阻止服务器端回发,然后返回你的onclick JS错误,那将完全静音的回发事件

例如

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

这个按钮永远不会回来后

+0

'Text.length'在中,如果它需要保存的文本框的字符宽度高于允许的文本长度,我不希望它触发保存事件。关于问题的其余部分:我不认为我理解最后一部分。回帖后,你到底意味着什么? – Steven

相关问题