Рейтинг:
12
Vincent Maverick Durano
Я на самом деле не поклонник SqlDataSource, но если вы пытаетесь извлечь значение из своего SqlDataSource, чтобы использовать его для заполнения выпадающего списка, то вы можете попробовать что-то вроде этого:
protected void Page_Load(object sender, EventArgs e)
{
DataView dvSql = (DataView)SqlDataSource8.Select(DataSourceSelectArguments.Empty);
foreach (DataRowView drvSql in dvSql)
{
string moduleName = drvSql["MName"].ToString();
DropDownList1.Items.Clear();
DropDownList1.Items.Add(moduleName);
}
}
Member 12618369
Спасибо за это, но я не смог найти DataView в библиотеке c# - это DataSourceView?
Richard Deeming
Убедитесь, что у вас есть using System.Data;
строка в верхней части файла кода.
Vincent Maverick Durano
Спасибо тебе за это, Ричард.
Member 12618369
Спасибо Ричард
Я получил ошибку с SqlDataSource8 Красный под строкой говорит, что инициализатор afield не может ссылаться на нестатическое поле, метод или свойство
Richard Deeming
Значит, вы не используете код, который выложил Винсент?
Member 12618369
Нет я использую его но у меня есть красный под линией
Richard Deeming
Ну, это не так, потому что в коде, который опубликовал Винсент, не было инициализатора поля.
Похоже, вы попытались опубликовать хотя бы часть кода непосредственно в классе, а не в теле метода внутри класса. В коде Винсента этот метод называется Page_Load
.
Member 12618369
Да Большое спасибо я разобрался с последней ошибкой но теперь когда я запускаю программу я получаю ссылку на объект не заданную на экземпляр объекта
в этой строке foreach (DataRowView drvSql в dvSql)
Richard Deeming
Вероятно, потому, что вы не предоставили значения для @uid
параметр, а источник данных по умолчанию отменяет запрос select, если какой-либо параметр null
.
Вам нужно будет откуда-то получить идентификатор пользователя и добавить следующую строку перед вызовом Select
:
SqlDataSource8.SelectParameters["@uid"].DefaultValue = theUserId;
Member 12618369
спасибо
идентификатор пользователя должен быть взят для текущего пользователя, который в данный момент вошел в систему, но чтобы взять его, никакая идея не может порадовать вас приведенным примером
Прости, если я тебя раздражаю
пожалуйста помочь
Richard Deeming
Если вы просто ищете имя пользователя, то это User.Identity.Name
.
Если вы ищете что-то еще, то вам нужно будет сказать нам, откуда взялось удостоверение.