You have declared CallStatus as a string. You are trying to test it against a number. The runtime can't do this because those types are not comparable.
.NET is a strongly typed language. When you compare type values, each values' type must be comparable to the other. If the types are not comparable then the runtime will convert expandable types to make a comparison. This works for things like an integer to a float because a integer can be implicitly converted to a float (mathematically speaking, a INT is also a FLOAT, but not the other way around).
Unfortunately,
VB.NET allows you to ignore the strong typing of .NET by means of the "Option Strict" setting in files and projects. Therefore you need to do two things:
1) You should add the code "Option Strict On" in the files or set the "Option Strict" setting for the project as a whole (this is the better approach).
2) Declare CallStatus as a number type and convert it when you get it, like this:
Dim CallStatus As Integer
CallStatus = Integer.Parse(Trim(Request.Form(ddl_callstatus.Uni queID)))
Now, the test "CallStatus = 10" will work.
Here's an interesting article about Option Strict and Option Explicit:
http://www.codinghorror.com/blog/archives/000355.html
Also, for the details of these
VB.NET features:
Option Strict
Option Explicit
-Peter