powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получить имя/ид из select html
42 сообщений из 42, показаны все 2 страниц
Получить имя/ид из select html
    #39268005
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!
Есть представление:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
@model IEnumerable<WebApplication5.Models.personal>
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
    <select class="form-control" id="fio" >
        @foreach (var tt in Model)
        {
            <option value="@tt.ID">@tt.NAME</option>
        }
        
    </select>

 
    <input id="Text1" type="text" />
   
</div>


Как получить выбранное имя/ид и задать его в параметр, чтобы потом его использовать?
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268013
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что за имя и что за параметр и где собрались использовать?
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268020
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Это вывод фамилий из базы данных, у каждой фамилии есть свой ид,
мне по сути достаточно @tt.ID
который дальше я буду использовать в другом запросе к базе и выводе последующей информации
То есть выбрал фамилию из списка, нажал на кнопку и пошел запрос в базу который вернет перечень дат
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268024
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
value="@tt.ID"

уже ведь есть у вас, чего ещё хотите? а запрос через javascript + jquery
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268026
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

то есть я в этой же вьюшке пишу на js обработку события по нажатию на кнопку.
в контроллере ничего не надо дописывать?
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268036
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видимо нужно передать параметр контроллёру, чтобы отобрать перечень баз.

2 метода опишите, например
get - показывает исходную страницу (ваша версия выше)
post - обрабатывает параметр и потом показывает что вам нужно (может другое вью показать или редирект)
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268038
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перечень баз дат
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268275
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mishanya3624нажал на кнопку и пошел запрос

это либо отправка формы - она должна для этого быть (теги <form> get/post) - либо ajax (для этого надо JavaScript)
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268559
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
контроллер:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  public class HomeController : Controller
    {
        ProdContextModels db = new ProdContextModels();
        public ActionResult Index()
        {
          
            ViewBag.Personals = new SelectList(db.personal_,  "ID", "NAME");
            return View();
            
        }
        [HttpPost]
        public ActionResult Index(string Personals)
        {
            
            ViewBag.Selected1 = Personals;
            return View();
        }
   
    }



вьюшка:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
@model IEnumerable<WebApplication5.Models.personal>
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
 @using (Html.BeginForm())
 {      
            @Html.DropDownList("Personals")       

    <input class="btn btn-info"  type="submit" name="name" value="Button" />
 }

</div>

<div>

    fio ------- @ViewBag.Selected1
</div>



вываливает ошибку:

автор
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'Personals'.

Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Сведения об исключении: System.InvalidOperationException: There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'Personals'.

Ошибка источника:


Строка 6: @using (Html.BeginForm())
Строка 7: {
Строка 8: @Html.DropDownList("Personals")
Строка 9:
Строка 10: <input class="btn btn-info" type="submit" name="name" value="Button" />

Исходный файл: \\mac\home\Documents\Visual Studio 2013\Projects\WebApplication5\WebApplication5\Views\Home\Index.cshtml Строка: 8

Что не правильно?
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268582
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у вас модель указана, а в контроллере вы ничего не передаёте
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268614
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

еще немного подсказки плиз:)
какие мои действия?
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268622
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
напрягитесь немного и почитайте статейку какую-нибудь с примером

разберитесь что такое Model , зачем она нужна и почему пишут в начале View такие магические фразы:

Код: c#
1.
@model PersonalModel
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268798
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
@model WebApplication5.Models.personal
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
 @using (Html.BeginForm())
 {      
            @Html.DropDownList("Personals", (IEnumerable<SelectListItem>)ViewBag.Personals, "select")       

    <input class="btn btn-info"  type="submit" name="name" value="Button" />
 }

</div>

<div>

    fio ------- @ViewBag.Selected1
</div>



что-то совсем запутался, если не трудно дайте ссылку на пример, уже все переменял, ошибка и все...((
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268810
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268818
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://dotnet-concept.com/Tutorials/2015/1/5798807/Getting-started-Create-your-first-MVC-application-step-by-step

поищите сами, этих примеров море. какой из них вам подойдёт больше для понимания концепции я не знаю, сами выбирайте.
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268860
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

спасибо огромно, поплыл покорять.
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268935
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему такое, как исправить?
авторСообщение об ошибке компилятора: CS1660: Не удается преобразовать лямбда-выражение в тип "string", так как он не является типом делегата

Ошибка источника:


Строка 8: {
Строка 9:
Строка 10: @Html.DropDownList(x => x.ID, (IEnumerable<SelectListItem>)ViewBag.Personals, "select")
Строка 11:
Строка 12: <input class="btn btn-info" type="submit" name="name" value="Button" />
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268946
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ID - это должно быть поле в вашей модели , а его у вас нет, тк модель вы из контроллера не отдаёте. читайте уже книжки что ли
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268958
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
модель то есть, 1 загвоздка, как ее отдать через контроллер? и сегодня больше ни о чем не спрошу:)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
namespace WebApplication5.Models
{
    
     [Table("personal")]
    public class personal
    {
        
        public string NAME { get; set; }
        public int ID { get; set; }
       
    }
    

}
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268966
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы так и будете кусками свой код постить?
хорошо, модель создали.

в методе контроллера надо создать и заполнить эту модель вашими данными и потом вернуть

Код: c#
1.
2.
3.
4.
5.
6.
7.
[SRC c#]...
var model = new personal();
personal.NAME = 'name';
personal.ID = 1;
...
return View(model);
}

[/SRC]
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268975
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и я не понял почему для select вы используете имя из ID (int)?
вам NAME нужен.


Код: c#
1.
@Html.DropDownList("PayPeriodMonth", new SelectList(Model.payPeriodMonthList, "Key", "Value", Model.PayPeriodMonth), "", new { id = "PayPeriodMonth", @class = "inp-95" })
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268978
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в модели (пример из View выше):

Код: c#
1.
2.
3.
        [Display(Name = "Период оплаты (мес)")]
        [StringLength(2)]
        public string PayPeriodMonth { get; set; }
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268984
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если лямбду хотите, то юзайте
Код: c#
1.
@Html.DropDownListFor(model => model.ID,...
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39268997
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто капец, все примеры смотрю, там все просто...все вроде ясно понятно, но не хочет и все мне отдавать ID..
модель:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
namespace WebApplication5.Models
{
    
     [Table("personal")]
    public class personal
    {
        
        public string NAME { get; set; }
        public int ID { get; set; }
       
    }
    

}



контекст:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
namespace WebApplication5.Models
{
    public class ProdContextModels : DbContext
    {
        public ProdContextModels() : base("name=WebApplication5")
        {
          /* Database.SetInitializer<ProdContextModels>(null);*/
         
        }
        
        public DbSet<WebApplication5.Models.personal> personal_ { get; set; }
    }
}



Контроллер:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
namespace WebApplication5.Controllers
{
  
    public class HomeController : Controller
    {
        ProdContextModels db = new ProdContextModels();
        
        public ActionResult Index()
        {
           var x = new personal();
            
            ViewBag.Personals = new SelectList(db.personal_,  "ID", "NAME", 2);
           
            return View(x);
            
        }
        [HttpPost]
        public ActionResult Index(personal Personals)
        {
            ViewBag.Selected1 = Personals;
            return View();
        }
   
    }
}



Вьюха:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
@model WebApplication5.Models.personal
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
 @using (Html.BeginForm()) 
 {      
         
            @Html.DropDownList(x => x.ID , (IEnumerable<SelectListItem>)ViewBag.Personals, "select")       

    <input class="btn btn-info"  type="submit" name="name" value="Button" />
 }

</div>

<div>

    fio ------- @ViewBag.Selected1
</div>
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39269002
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

пока оформлял, Вы уже много чего написали, пойду разбираться, Спасибо.
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39269004
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потому что ерунду делаете:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
        public ActionResult Index()
        {
           var x = new personal();
           
            ViewBag.Personals = new SelectList(db.personal_,  "ID", "NAME", 2);
           
            return View(x);
            
        }
        [HttpPost]
        public ActionResult Index(personal model)
        {
            //вот тут тормозите и смотрите , что у вас в model            

            ViewBag.Personals = new SelectList(db.personal_,  "ID", "NAME", 2);
            return View(model);
        }
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39269091
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Огромное Вам спасибо! понял свою ошибку, все получилось.
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39269663
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Небольшой вопрос, почему @ViewBag.PP(Name) всегда пустое значение? а ViewBag.PerN(ID) все ок показывает:
вью:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
@model WebApplication5.Models.personal
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
   
    @using (@Html.BeginForm(null, null, FormMethod.Post, new{ @class= "form-group"}))
    {
      
       @Html.DropDownList("ID", ViewBag.Personals as SelectList, "", new { id = "ID", @class = "form-control" })
        
        <input type="submit"  class="btn btn-danger" />
     
    }    

</div>


<div>

    @ViewBag.PerN

    @ViewBag.PP
   
</div>



контроллер:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
   public class HomeController : Controller
    {
        ProdContextModels db = new ProdContextModels();
        
        public ActionResult Index()
        {                      
            ViewBag.Personals = new SelectList(db.personal_, "ID", "NAME", 2);           
            return View();            
        }
        [HttpPost]
        public ActionResult Index(personal model)
        {
            ViewBag.Personals = new SelectList(db.personal_, "ID", "NAME", 2);
            ViewBag.PP = model.NAME;           
            ViewBag.PerN = model.ID;
           
            return View(model);
        }
   
    }


модель:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
     [Table("personal")]
    
    public class personal
    {
        
        public int ID { get; set; }
        public string NAME { get; set; }
       
       
    }
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39269708
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у вас нет input который в model.NAME что-то постит
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39269958
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

то есть я не смогу с одного droplista передать 2 параметра постом по нажатию одной кнопки?
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39269976
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ваш select привязан в модели к полю ID
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270019
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

да, это я понял,а если у меня в модели будет 20 параметров и мне надо будет их отобразить, выбрав элемент из droplista, то?
с Input игрался, что-то не то получается...
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270025
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотря что за параметры и откуда они, вы же модель можете расширить. добавьте туда, например, поле Dictionary<string, string> и заполните чем вам нужно. сама ваша задача непонятна и вы как-то сбоку к ней заходите.
я же сразу написал используйте javascript для отправки формы, а перед отправкой заполняйте все нужные вам параметры
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270035
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

А можно ли по нажатию запостить и value (ID) и option(NAME), а не один из них по которому идет привязка(исключая js)?
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270038
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в крадце:
форма должна содержать INPUT-элементы, их содержимое VALUE и поститься. если NAME инпутов совпадает с именем поля в вашей модели, то это значение и передается в модель.

1 INPUT = 1 ЗНАЧЕНИЕ
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270047
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вообще, зачем вам что-то ещё надо, если вы в контроллере уже получили ID выбранной записи из списка. так найдите эту запись по таблице и выдайте обратно во View все нужные данные.


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
       [HttpPost]
        public ActionResult Index(personal model)
        {
            var p = db.personal_.Where(x => x.ID == model.ID).FirstOrDefault();
            model.NAME = p.NAME;
            ViewBag.Personals = new SelectList(db.personal_, "ID", "NAME", 2);
          
            return View(model);
        }



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
@model WebApplication5.Models.personal
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
      @using (@Html.BeginForm(null, null, FormMethod.Post, new{ @class= "form-group"}))
    {
      
       @Html.DropDownList("ID", ViewBag.Personals as SelectList, "", new { id = "ID", @class = "form-control" })
        
        <input type="submit"  class="btn btn-danger" />
     
    }    
</div>

<div>
    @Model.NAME
</div>
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270065
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

примерно так я пробовал, сделал по вашему все равно ругается:
авторСсылка на объект не указывает на экземпляр объекта.

Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Сведения об исключении: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.

Ошибка источника:


Строка 15:
Строка 16: <div>
Строка 17: @Model.NAME
Строка 18: </div>
Строка 19:

Исходный файл: \\mac\home\Documents\Visual Studio 2013\Projects\WebApplication5\WebApplication5\Views\Home\Index.cshtml Строка: 17
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270074
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@(Model.NAME ?? "")

или в get методе присвойте model.NAME = ""
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270085
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

не, все равно та же ошибка.
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270095
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получилось через ViewBag не знаю насколько это верно, но работает...
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
   [HttpPost]
        public ActionResult Index(personal model)
        {
            
            var p = db.personal_.Where(x => x.ID == model.ID).FirstOrDefault();
            ViewBag.LL = p.NAME;
            ViewBag.KK = p.ID;
            ViewBag.Personals = new SelectList(db.personal_, "ID", "NAME", 2);

            return View(model);
        }
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270100
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mishanya3624получилось через ViewBag не знаю насколько это верно, но работает...
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
   [HttpPost]
        public ActionResult Index(personal model)
        {
            
            var p = db.personal_.Where(x => x.ID == model.ID).FirstOrDefault();
            ViewBag.LL = p.NAME;
            ViewBag.KK = p.ID;
            ViewBag.Personals = new SelectList(db.personal_, "ID", "NAME", 2);

            return View(model);
        }



это костыль. что Вам мешает, все что необходимо для View записать в Model ("ViewModel"). То, что модель у Вас это не ViewModel, а Entity?
...
Рейтинг: 0 / 0
Получить имя/ид из select html
    #39270191
mishanya3624
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил Кант,

ммм, можно с небольшим примером, если не трудно, а то Konst_One уже устал от меня неуча:)
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получить имя/ид из select html
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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