我有一个“性别”的单选按钮列表。
选择是:无偏好、男性、女性。
我有一个搜索页面,用户可以通过这些选项进行搜索。我为 Gender 创建了一个会话变量,Session["Gender"]
. 数据库表中的属性是 GenderType,它是 varchar(8)。在 Asp 方面,这是从搜索页面获取值的代码:
if (rdogender.SelectedItem.Text == "Male")
{
Session["Gender"] = ((string)"Male");
}
if (rdogender.SelectedValue == "Female")
{
Session["Gender"] = "Female";
}
当我搜索时,我不断收到以下错误。我还尝试了以下方法:
Session["Gender"] = ((String)rdogender.SelectedValue);
Session["Specialty"] = (string)ddlSpecialty.SelectedValue;
Session["Gender"] = ((String)rdogender.SelectedValue);
不管它是如何编码的,我仍然得到下面的错误。有谁知道如何解决这一问题?
将 varchar 值“Male”转换为数据类型 int 时转换失败。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:将 varchar 值“Male”转换为数据类型 int 时转换失败。
源错误:在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
Stack Trace:
[SqlException (0x80131904): Conversion failed when converting the varchar value 'Male' to data type int.]