Peter Stuart
Peter Stuart

Reputation: 2434

How do I get the largest value from various ASP TextBox values?

I am learning some ASP and working through some exercises.

I have been given a task where I am to have 5 TextBoxes and a submit button.

When the submit button is clicked the web page is to return the largest value.

For example:

  1. num1 = 55
  2. num2 = 66
  3. num3 = 77
  4. num4 = 88
  5. num5 = 1

The script would return: "The largest value is: 88"

Here is my code so far:

<%@ Page Language="VB" %>
<!DOCTYPE html>
<script runat="server">

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        submit.Text = "Submit"
        returnLabel.Text = ""
    End Sub

    Protected Sub submit_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        'Not sure what to place here

    End Sub

</script>
<html>
<head id="Head1" runat="server">
<title>Exercise 7</title>
</head>

<body>
<form id="webform" runat="server">
    <div>
        <p><asp:TextBox ID="number1" runat="server"></asp:TextBox></p>
        <p><asp:TextBox ID="number2" runat="server"></asp:TextBox></p>
        <p><asp:TextBox ID="number3" runat="server"></asp:TextBox></p>
        <p><asp:TextBox ID="number4" runat="server"></asp:TextBox></p>
        <p><asp:TextBox ID="number5" runat="server"></asp:TextBox></p>
        <p><asp:Button ID="submit" runat="server"></asp:Button></p>
        <p><asp:Label ID="returnLabel" runat="server"></asp:Label></p>
    </div>
</form>
</body>
</html>

I am not sure how to write a script that will detect the highest value between the 5 values.

Thanks,

Peter

Upvotes: 0

Views: 1135

Answers (3)

Shadow Wizard
Shadow Wizard

Reputation: 66389

Another way which is bit more flexible as you write the desired textboxes as array:

int maxValue = (new TextBox[] { TextBox1, TextBox2, TextBox3, TextBox4, TextBox5 }).
    ToList().ConvertAll(t => Int32.TryParse(t.Text, out curValue) ? new int?(curValue) : (int?)null).
    Max(m => (!m.HasValue) ? 0 : m.Value);

Upvotes: 0

pankeel
pankeel

Reputation: 1148

check this:

  <%@ Page Language="VB" %>
    <!DOCTYPE html>
    <script runat="server">

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
            submit.Text = "Submit"
            returnLabel.Text = ""
        End Sub

        Protected Sub submit_Click(ByVal sender As Object, ByVal e As System.EventArgs)


     Dim i As Integer
i=number1.text
            If (i > number2.Text) Then
                If (i >  number3.Text) Then
                    If (i >  number4.Text) Then
                        If (i >  number5.Text) Then
                          returnLabel.text="The largest value is: " & i
                        End If
                    End If
                End If
            Else
                If ( number2.Text >  number3.Text) Then
                    If ( number2.Text>  number4.Text) Then
                        If ( number2.Text >  number5.Text) Then
       returnLabel.text="The largest value is: " & number2.Text 
                        End If
                    End If
                Else
                    If ( number3.Text >  number4.Text) Then
                        If ( number3.Text >  number5.Text) Then
    returnLabel.text="The largest value is: " & number3.Text 
                        End If
    else
                        If ( number4.Text >  number5.Text) Then
    returnLabel.text="The largest value is: " & number4.Text 
                        Else
    returnLabel.text="The largest value is: " & number5.Text 
                        End If
                    End If
                End If


            End If

        End Sub

    </script>
    <html>
    <head id="Head1" runat="server">
    <title>Exercise 7</title>
    </head>

    <body>
    <form id="webform" runat="server">
        <div>
            <p><asp:TextBox ID="number1" runat="server"></asp:TextBox></p>
            <p><asp:TextBox ID="number2" runat="server"></asp:TextBox></p>
            <p><asp:TextBox ID="number3" runat="server"></asp:TextBox></p>
            <p><asp:TextBox ID="number4" runat="server"></asp:TextBox></p>
            <p><asp:TextBox ID="number5" runat="server"></asp:TextBox></p>
            <p><asp:Button ID="submit" runat="server"></asp:Button></p>
            <p><asp:Label ID="returnLabel" runat="server"></asp:Label></p>
        </div>
    </form>
    </body>
    </html>

Upvotes: 0

the_lotus
the_lotus

Reputation: 12748

Assuming they all contains numbers. You can check each textbox and figure out the largest of them one by one.

Start by getting the first number, assume this is the largest.
Then compare that number with the second number, if it's bigger then we have a new largest number.
Continue like this until all numbers are compared.

Dim largestValue As Integer

largestValue = Int32.Parse(number1.Text)

If Int32.Parse(number2.Text) > largestValue Then
    largestValue = Int32.Parse(number2.Text)
End If

If Int32.Parse(number3.Text) > largestValue Then
    largestValue = Int32.Parse(number3.Text)
End If

If Int32.Parse(number4.Text) > largestValue Then
    largestValue = Int32.Parse(number4.Text)
End If

If Int32.Parse(number5.Text) > largestValue Then
    largestValue = Int32.Parse(number5.Text)
End If

Upvotes: 1

Related Questions