DropDownList выбрал значение и таблицы - PullRequest
4 голосов
/ 02 мая 2011

Q:

Привет, у меня есть выпадающий список, и я получаю две ошибки.

Ошибка № 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);

Пожалуйста, помогите.

Ответы [ 2 ]

2 голосов
/ 02 мая 2011

Ошибка № 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);
0 голосов
/ 02 мая 2011

Ошибка № 1:

Как уже было сказано, при сравнении следует использовать == вместо =.

Ошибка № 2:

Почему вы используете Directory.GetDirectories(query);

предыдущий метод используется для получения имен подкаталогов (включая их пути) в указанном каталоге.

смотрите здесь

я думаю, вам не нужен этот метод, просто используйте:

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 не является абсолютным путем, сохраните только относительный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...