Reputation: 2434
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:
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
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
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
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