2013-08-06 2 views
1

У меня есть кнопка следующим образом:Как изменить на стороне сервера свойств onclientclick?

<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 свойства "", коробка по-прежнему всплывает, когда нажата кнопка. Не так ли передается значение клиенту? Мы ценим любые предложения. Заранее спасибо!

+0

Является ли '' внутри репитера или любой петли ohter? Можете ли вы добавить скриншот или рисунок, как страницы страницы отображаются на странице и как они работают togehter? – surfmuggle

+0

Это довольно просто. Текстовое поле находится только внутри таблицы, а таблица находится внутри панели обновления. Вот и все. – user2588873

ответ

1

Вы должны добавить OnClientClick к Attributes коллекции кнопки, как это:

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

Это вместо того, чтобы просто делать 'btnNext.onClientClick =" something "'? – user2588873

+0

Я попытался использовать это вместо этого, но тогда я никогда не получаю окно, даже если текстовое поле пуст. – user2588873

0

Я нашел решение моей проблемы. Я оставил функцию выше, как есть, но я в основном скопировал if-else в мое событие page_load внутри if(IsPostBack).

Смежные вопросы