1

我有一个按钮如下:

<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>

我需要onClientClick根据 Telerik 是否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属性设置为"",单击按钮时仍会弹出该框。该值是否没有以某种方式传递给客户端?任何建议,将不胜感激。提前致谢!

4

2 回答 2

1

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

btnNext.Attributes.Add("OnClientClick", "YourJavaScriptFunction();");
于 2013-08-06T17:04:33.823 回答
0

我找到了解决我的问题的方法。我保留了上面的函数,但我基本上将 if-else 复制到了我的 page_load 事件里面if(IsPostBack)

于 2013-08-07T13:32:40.953 回答