我有一个按钮,如下所示:

<asp:Button ID="btnNext" runat="server" Font-Bold="true" Text="Next"
    onclick="btnNext_Click" style="text-align: center" Width="80px" />


和一个RadNumericTextBox:

<telerik:RadNumericTextBox ID="txtTotal5" runat="server" Width="50px" AutoPostBack="true"
    MinValue="0" ontextchanged="txtTotal5_TextChanged"><NumberFormat DecimalDigits="0" /></telerik:RadNumericTextBox>


我需要根据Telerik onClientClick是否包含文本来设置RadNumericTextBox属性。如果没有值,则需要设置onClientClick属性,如下所示。如果框中有一个值,我只想继续onclick事件,它将它定向到下一个表单。

protected void txtTotal5_TextChanged(object sender, EventArgs e)
    {
        if (txtTotal5.Value.ToString() == "")
        {
            btnNext.OnClientClick = "javascript: return confirm('Please have the employee complete this form.')";
        }
        else
        {
            btnNext.OnClientClick = "";
        }
    }


现在,我已经多次使用调试器来遍历代码,并且该值在函数中按我的期望进行更改,但是即使将OnClientClick属性设置为"",单击按钮时仍会弹出该框。 。价值是否以某种方式没有传递给客户?任何建议,将不胜感激。提前致谢!

最佳答案

您需要将OnClientClick添加到按钮的Attributes集合中,如下所示:

btnNext.Attributes.Add("OnClientClick", "YourJavaScriptFunction();");

关于c# - 如何更改按钮的onclientclick属性服务器端?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18086114/

10-08 22:22