我有一个按钮如下:
<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
属性设置为""
,该框仍然是单击按钮时弹出。值是不是以某种方式传递给客户端?任何建议,将不胜感激。提前谢谢!
答案 0 :(得分:1)
您需要将OnClientClick
添加到按钮的Attributes
集合中,如下所示:
btnNext.Attributes.Add("OnClientClick", "YourJavaScriptFunction();");
答案 1 :(得分:0)
我找到了解决问题的方法。我按原样保留了上面的函数,但我基本上将if-else复制到if(IsPostBack)
内的page_load事件中。