Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Linq to Entity привезать ключевое поле к dropdownlist / 25 сообщений из 29, страница 1 из 2
16.12.2011, 09:17:05
    #37579101
bobsvt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
Есть список со значениями из связанной таблицы

Код: html
1.
  <%=Html.DropDownList("sprIDGorod", (IEnumerable<SelectListItem>)ViewData["listGorod"])%>



"sprIDGorod" это имя поля reference navigation в модели entity framework

есть форма textbox - ами и со списком который я указал выше
делаю submit формы для обновления значений в базе

данные в базе обновляются вот так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
     public void updateObjectPred(string id , objectPredpriatie o)
        {
            objectPredpriatie opred = GetObjectPredpSinqle(Convert.ToInt32 (id));
            opred.nameObject = o.nameObject;
            opred.obiemOtoplenie = o.obiemOtoplenie;
            opred.perimetr = o.perimetr;
            opred.Ploshad = o.Ploshad;
            opred.ploshadPotolok = o.ploshadPotolok;
            opred.ploshadSteklo = o.ploshadSteklo;
            opred.polezPloshad = o.polezPloshad;


            opred.sprGorod.IDGorod     = o.sprGorod.IDGorod    ;
        
            _auditData.SaveChanges(); 

        
        }






o.sprGorod.IDGorod - поле пустое значение не предаются как указать списку то он привязан к полю sprGorod
...
Рейтинг: 0 / 0
16.12.2011, 10:31:15
    #37579165
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
Публикуйте ID и сам список в модели:

Код: c#
1.
2.
3.
4.
5.
6.
<%: Html.DropDownListFor(
  model =>
      model.SupplierID,
      Model.SupplierList.Select(d => new SelectListItem { Value = d.SupplierID.ToString(), Text = d.CompanyName }),
      CoreUI.Controllers.BaseController.EmptyValue,
      new { style = "width:200px" }) %>



ViewData - зло. Забудьте это.
...
Рейтинг: 0 / 0
16.12.2011, 12:04:02
    #37579346
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
Вы дали имя параметру который будет выбран - "sprIDGorod"

Поэтому чтобы иметь доступ к этому параметру можно выбрать два пути
1) Нормальный
Код: c#
1.
public void updateObjectPred(string id , objectPredpriatie o, int? sprIDGorod)


тогда в этой переменной будет выбранный (IEnumerable<SelectListItem>)ViewData["listGorod"].Value(я взял int, нужно поле подставите сами)

2) С элементами легкой эротики
Код: c#
1.
NameValueCollection params = Request.Params



Среди параметров будет элемент sprIDGorod с выбранным значением.

3) Правильный
Можно использовать модель, правда не всегда модель совпадает классами с тем что выбрал, а две модели в представлении не задашь :)
...
Рейтинг: 0 / 0
16.12.2011, 12:50:27
    #37579417
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
OracleLoverправда не всегда модель совпадает классами с тем что выбрал, а две модели в представлении не задашь :)
А теперь еще раз и по-русски.
...
Рейтинг: 0 / 0
16.12.2011, 14:06:42
    #37579581
bobsvt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
МСУ

сделал вот так се равно не работает

Код: html
1.
<%=Html.DropDownListFor(Model => Model.sprGorod.IDGorod , (IEnumerable<SelectListItem>)ViewData["listGorod"])%>



Возможно логика неправильная или работает все через одно место но как то учиться нужно )))
...
Рейтинг: 0 / 0
16.12.2011, 14:11:18
    #37579595
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
...
Рейтинг: 0 / 0
16.12.2011, 14:11:22
    #37579596
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
МСУOracleLoverправда не всегда модель совпадает классами с тем что выбрал, а две модели в представлении не задашь :)
А теперь еще раз и по-русски.

model может и не содержать ссылку sprIDGorod - вот я о чем. Тогда и сохранять нечего.
...
Рейтинг: 0 / 0
16.12.2011, 14:13:08
    #37579603
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
bobsvtМСУ

сделал вот так се равно не работает

Код: html
1.
<%=Html.DropDownListFor(Model => Model.sprGorod.IDGorod , (IEnumerable<SelectListItem>)ViewData["listGorod"])%>



Возможно логика неправильная или работает все через одно место но как то учиться нужно )))

Model это объект-сет или просто объект определенного класса. МСУ говорил про model - это немного другое.
...
Рейтинг: 0 / 0
16.12.2011, 14:15:03
    #37579610
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
bobsvt,

Чтобы не было вопросов лишних:

Код: html
1.
@Html.DropDownListFor(model => Model.Role, Model.Roles)



Код: c#
1.
2.
3.
4.
5.
public class Data
	{
		public int Role { get; set; }
		public SelectList Roles { get; set; }
	}
...
Рейтинг: 0 / 0
16.12.2011, 14:21:23
    #37579638
bobsvt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
Pavluha

Значения ее получить не проблема

Проблема в привязать объект dropdownlist к модели потом сохранить изменения в модели и в БД.
...
Рейтинг: 0 / 0
16.12.2011, 14:30:17
    #37579666
bobsvt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
OracleLoverbobsvtМСУ

сделал вот так се равно не работает

Код: html
1.
<%=Html.DropDownListFor(Model => Model.sprGorod.IDGorod , (IEnumerable<SelectListItem>)ViewData["listGorod"])%>



Возможно логика неправильная или работает все через одно место но как то учиться нужно )))

Model это объект-сет или просто объект определенного класса. МСУ говорил про model - это немного другое.


это переменная var model = <objectPredpriatie> это что ли?
...
Рейтинг: 0 / 0
16.12.2011, 14:30:38
    #37579669
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
bobsvtPavluha

Значения ее получить не проблема

Проблема в привязать объект dropdownlist к модели потом сохранить изменения в модели и в БД.

У меня проблем не было! Вы проверьте сначала.
Я так понимаю, что вы работаете не с моделью и поэтому у вас значение не восстанавливается.
Возможно, я ошибаюсь.
...
Рейтинг: 0 / 0
16.12.2011, 14:34:31
    #37579682
bobsvt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
bobsvtOracleLoverпропущено...


Model это объект-сет или просто объект определенного класса. МСУ говорил про model - это немного другое.


это переменная var model = <objectPredpriatie> это что ли?

не до конца дописал

это переменная var model = <objectPredpriatie>viewData["predlist"]
...
Рейтинг: 0 / 0
16.12.2011, 14:39:08
    #37579696
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
bobsvtbobsvtпропущено...



это переменная var model = <objectPredpriatie> это что ли?

не до конца дописал

это переменная var model = <objectPredpriatie>viewData["predlist"]

Вы не указали какую модель вы передали представлению, поэтому я понятия не имею какого она у вас типа.
...
Рейтинг: 0 / 0
16.12.2011, 14:42:10
    #37579712
bobsvt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
Inherits="System.Web.Mvc.ViewPage<ReportAuditEnergy.Models.objectPredpriatie>" %>
...
Рейтинг: 0 / 0
16.12.2011, 14:44:37
    #37579723
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
OracleLovermodel может и не содержать ссылку sprIDGorod - вот я о чем. Тогда и сохранять нечего.
Модель обязана содержать значение Value для дропдаунлиста. Посмотрите на мой код, работа только с моделю.

P.S. Закон таков: нужно для представления - должно быть в модели. Никаких граблей в виде ViewData, всё четко по MVC паттерну. Шаг влево - расстрел.
...
Рейтинг: 0 / 0
16.12.2011, 14:45:09
    #37579726
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
bobsvtInherits="System.Web.Mvc.ViewPage<ReportAuditEnergy.Models.objectPredpriatie>" %>

Или я чего-то не догоняю или что это за извращение? Почему вы используя паттерн MVC, не пишете на MVC?
...
Рейтинг: 0 / 0
16.12.2011, 14:45:50
    #37579729
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
МСУOracleLovermodel может и не содержать ссылку sprIDGorod - вот я о чем. Тогда и сохранять нечего.
Модель обязана содержать значение Value для дропдаунлиста. Посмотрите на мой код, работа только с моделю.

P.S. Закон таков: нужно для представления - должно быть в модели. Никаких граблей в виде ViewData, всё четко по MVC паттерну. Шаг влево - расстрел.

Согласен, только мы уже поняли что товарищ какую-то винигрет варит
...
Рейтинг: 0 / 0
16.12.2011, 14:47:28
    #37579736
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
OracleLoverСогласен, только мы уже поняли что товарищ какую-то винигрет варит
У него каша в голове, а учить не хочется... Код дали - путь осмысливает.
...
Рейтинг: 0 / 0
16.12.2011, 15:00:37
    #37579785
bobsvt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
МСУOracleLovermodel может и не содержать ссылку sprIDGorod - вот я о чем. Тогда и сохранять нечего.
Модель обязана содержать значение Value для дропдаунлиста. Посмотрите на мой код, работа только с моделю.

P.S. Закон таков: нужно для представления - должно быть в модели. Никаких граблей в виде ViewData, всё четко по MVC паттерну. Шаг влево - расстрел.


у меня он содержит value

Код: html
1.
2.
3.
    

ViewData["listGorod"] = new SelectList(_auditdatamanager.SprGorod.getGorod(), "IDGorod", "name",t.sprGorod.IDGorod        );




и почему нельзя использовать viewdata если в книгах по MVC 2 в основном его и используют как использовать только один объект model нужно быть извращенцем
...
Рейтинг: 0 / 0
16.12.2011, 15:01:48
    #37579790
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
bobsvt, Вы продолжаете упорно давить лбом в кирпичную кладку?
...
Рейтинг: 0 / 0
16.12.2011, 15:05:05
    #37579807
bobsvt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
OracleLoverbobsvtInherits="System.Web.Mvc.ViewPage<ReportAuditEnergy.Models.objectPredpriatie>" %>

Или я чего-то не догоняю или что это за извращение? Почему вы используя паттерн MVC, не пишете на MVC?

На чем я по вашему пишу тогда? использую MVC 2
...
Рейтинг: 0 / 0
16.12.2011, 15:08:16
    #37579819
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
bobsvtOracleLoverпропущено...


Или я чего-то не догоняю или что это за извращение? Почему вы используя паттерн MVC, не пишете на MVC?

На чем я по вашему пишу тогда? использую MVC 2

Ваш код и слова "пишу на MVC" - слабо коррелируют между собой.
...
Рейтинг: 0 / 0
16.12.2011, 15:11:20
    #37579829
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
bobsvt,

Вот вам примеры, если вы не хотите пользоваться тем, что вам дали: http://habrahabr.ru/blogs/aspnet_mvc/106370/
...
Рейтинг: 0 / 0
16.12.2011, 15:18:36
    #37579851
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linq to Entity привезать ключевое поле к dropdownlist
OracleLoverВаш код и слова "пишу на MVC" - слабо коррелируют между собой.
+1
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Linq to Entity привезать ключевое поле к dropdownlist / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]