2016-08-17 2 views
-1

В моей веб-форме у меня есть 2 поля, которые должны принимать только число (результат вычисления их значения должен отображаться в третьем поле. Регулярная проверка этих двух полей отлично работает, прежде чем пользователь нажмет кнопку отправки. . Как справиться с этимПодтверждение в webform

<asp:TextBox ID="TextBox1" runat="server" placeholder="Liter"></asp:TextBox><span style="color:red;font-weight:bold"> *</span> 
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="This is required" ForeColor="Red" ValidationGroup="test" ControlToValidate="TextBox1" Display="Dynamic"></asp:RequiredFieldValidator> 
    <asp:RegularExpressionValidator ID="RegularExpressionValidator2" ControlToValidate="TextBox1" runat="server" ForeColor="red" ErrorMessage="Enter only numbers!" ValidationExpression="\d+" Display ="Dynamic"></asp:RegularExpressionValidator> 

кнопку Submit:

protected void btn_Click(object sender, EventArgs e) 
{ 
    if (Page.IsValid) 
    { 
      TextBox3.Text = ((Convert.ToInt32(TextBox1.Text) * 4.18 * Convert.ToInt32(TextBox2.Text))/3600).ToString(); 
      double result = Convert.ToDouble(TextBox3.Text); 
      TextBox3.Text = String.Format("{0:0.00}", result); 
+1

Возможный дубликат [Как разрешить только целые числа в текстовом поле] (http://stackoverflow.com/questions/9732455/how-to-allow-only-integers-in-a -textbox) – techspider

+0

Нет ... Это совсем не то, что – Biju

ответ

0

вы можете написать функцию/метод, как это передать значение TextBox

public static bool isNumeric(string val, System.Globalization.NumberStyles NumberStyle) 
{ 
    Int32 result; 
    return Int32.TryParse(val, NumberStyle, 
     System.Globalization.CultureInfo.CurrentCulture, out result); 
} 

вызовов и проверьте метод примера прохождения следующего

var _isNumeric2 = isNumeric("9.", System.Globalization.NumberStyles.Integer); 

Заменить первое paramtere со значением TextBox3.Text

+0

Спасибо @MethodMan, но TextBox1 и TextBox2 должны быть проверены! – Biju

+0

, тогда сделайте чек/вызов подходящим, есть несколько способов справиться с этим, если это работает, тогда отметьте его как приемлемый ответ .. вы можете изменить метод для работы с любым текстовым значением – MethodMan

0

Все было необходимо, чтобы добавить ValidationGroup="test" же, как поле , Решение:

<asp:TextBox ID="TextBox1" runat="server" placeholder="Liter"></asp:TextBox><span style="color:red;font-weight:bold"> *</span> 
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="This is required" ForeColor="Red" ValidationGroup="test" ControlToValidate="TextBox1" Display="Dynamic"></asp:RequiredFieldValidator> 
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" ControlToValidate="TextBox1" runat="server" ForeColor="red" ErrorMessage="Enter only numbers!" ValidationExpression="\d+" ValidationGroup="test" Display ="Dynamic"></asp:RegularExpressionValidator> 
Смежные вопросы