问:
嗨,我有一个下拉列表,我收到两个错误。
错误#1: 我的要求是从下拉列表中选择会议名称,将其保存为字符串并稍后使用该字符串。我想从数据库表中获取字段值(它给出了存储文件的路径)。
代码:
string selected = DropDownList1.SelectedValue.ToString();
var query = from meet in db.Meets
where meet.Summary = selected
select meet.Doc_Path;
我在“where meet.Summary=selected
”收到错误,并说
“无法隐式转换类型字符串 布尔“
错误#2: 我希望使用通过查询获得的Doc_Path
值。我不确定语法,因此在我尝试时出错。
代码:
string[] dirs = Directory.GetDirectories(query);
请帮忙。
答案 0 :(得分:2)
错误#1 - 我认为你需要==而不只是=
string selected = DropDownList1.SelectedValue.ToString();
var query = from meet in db.Meets
where meet.Summary == selected
select meet.Doc_Path;
错误#2 - 您可能需要用户Server.MapPath
String FilePath;
FilePath = Server.MapPath(query);
或者,将它们组合起来
string selected = DropDownList1.SelectedValue.ToString();
var query = from meet in db.Meets
where meet.Summary == selected
select Server.MapPath(meet.Doc_Path);
string[] dirs = Directory.GetDirectories(query);
答案 1 :(得分:0)
错误#1:
如前所述,在进行比较时,您应该使用==
代替=
。
错误#2:
为什么使用Directory.GetDirectories(query);
上一个方法用于获取指定目录中子目录的名称(包括其路径)。
看here
我认为您不需要这种方法,只需使用:
string selected = DropDownList1.SelectedValue.ToString();
var query = from meet in db.Meets
where meet.Summary == selected
select meet.Doc_Path;
string dirPath = System.Web.HttpContext.Current.Server.MapPath("~") + query.ToString();
确保meet.Doc_Path
值不是绝对路径,仅存储相对路径。