我的asp.net网络表单中有一个下拉菜单ddlInstructorAllocated
,它从数据库中获取列表中的所有项目。我已插入另一项要显示为“请选择教师”的项目,以便用户知道该怎么做。保存此表单时,它会填充输入到数据库的信息。与ddlInstructorAllocated
对应的列不是必填字段,可以保留为NULL。我要做的是默认情况下选择“请选择教师”时,其值为NULL。我尝试了很多方法,但似乎无法弄明白。下面是我尝试的方式之一。请帮忙。对于从列表中选择教师的实例,将返回其ID,转换为字符串,然后保存到数据库中。
private void DisplayInstructors()
{
ListItem li;
li = new ListItem("Please Select Instructor");
li.Value = null;
ddlInstructorAllocated.Items.Add(li);
var instructors = EmployeeRepository.GetInstructors();
foreach (var i in instructors)
{
ddlInstructorAllocated.Items.Add(new ListItem(string.Format("{0} {1}", i.FirstName, i.LastName), i.EmployeeID.ToString()));
}
}
数据库中的ID存储为int,稍后我正在进行EmployeeID = int.Parse(ddlInstructorAllocated.SelectedValue)
,我收到的输入字符串格式不正确的异常
答案 0 :(得分:2)
int id;
EmployeeID = int.TryParse(ddlInstructorAllocated.SelectedValue, out id)
? id
: (int?)null;
TryParse尝试将值解析为int,如果可以成功转换,则指定值。如果不是,则指定空值。
答案 1 :(得分:-1)
尝试在下拉列表的索引0处放置您的“请选择讲师”。选择索引零时。而不是放置null。你可以在这里做一些事情:
这让我感到很伤心。