powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Все элементы DropDownList меняют значения на новое значение любого из них при выборе
8 сообщений из 8, страница 1 из 1
Все элементы DropDownList меняют значения на новое значение любого из них при выборе
    #38209989
Фотография anc32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Контроллер Home
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
using System.Web.Mvc;
 
 
 
using Project.Models;
 
 
 
namespace Project.Controllers
{
     
   
    public class HomeController : Controller
    {
       
        
        [HttpGet]
        public ViewResult Index()
        {
           
            return View("Index");
        }
 
        [HttpPost]
        public PartialViewResult Partial1()
        {
            bool debug_var_noajax= Request.IsAjaxRequest();
            ViewData["noajax"] = debug_var_noajax;
            var Collection = HandlerModel.GetCollection();
            ViewData["GetCollection"] = HandlerModel.GetCollectionError;
            int i=0;
            foreach (var x in HandlerModel.GetSelectLists(Collection))
            {
                ViewData["ForList" + i.ToString()] = x;
                i++;
            }
            ViewData["GetSelectLists"] = HandlerModel.GetSelectListsError;
            ViewData["SelectionChanged"] = HandlerModel.GetSelectionChangedError;
            var model = new HandlerModel.ForDropDownList {collection=Collection };
            return PartialView("Partial1",model);
        }
        
 
        [HttpPost]
        public PartialViewResult Partial(string Select="1",params int[] number)
        {
            bool debug_var_noajax = Request.IsAjaxRequest();
            ViewData["noajax"] = debug_var_noajax;
            int p;
            if (number == null) p = 0;
            else p = number[0];
            var t=HandlerModel.SelectionChanged(Select,p);
             
           
            int i=0;
            foreach (var x in HandlerModel.GetSelectLists(t.collection))
            {
                ViewData["ForList" + i.ToString()] = x;
                i++;
            }
            ViewData["GetSelectLists"] = HandlerModel.GetSelectListsError;
            ViewData["SelectionChanged"] = HandlerModel.GetSelectionChangedError;
            
            return PartialView("Partial1",t);
        }
 
       
       
    }
}


Представление Partial1
Код: 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.
26.
27.
28.
@{Layout=null;}
    @model Project.Models.HandlerModel.ForDropDownList
@if ((bool)ViewData["noajax"]==false) 
{ <sc ript type="text/javascript">OnFailure("Ajax not supported");</script>}
@Html.Raw((string)ViewData["GetCollection"])
@Html.Raw((string)ViewData["GetSelectLists"])
@Html.Raw((string)ViewData["SelectionChanged"])
 
<table>
@for (int i = 0; i < Model.collection.Groups.Count; i++)
{ 
    <tr>
        <td>@Model.collection.Groups[i].Name.ToString()</td>
        <td>@using (Ajax.BeginForm("Partial", "Home", new AjaxOptions
            {
                HttpMethod = "POST",
                OnFailure = "OnFailure('Update error')"          
            }))
                           {
            @Html.DropDownList("Select", (IEnumerable<SelectListItem>)(ViewData["ForList" + i.ToString()]),new{onc hange="this.form.submit()"})
            @Html.Hidden("number"+i.ToString(), i)
                           }
           
        </td>
    </tr>
}    
    
    </table>


Представление Index
Код: 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.
26.
27.
<sc ript src="@Url.Content("~/Scripts/ErrorAlert.js")" type="text/javascript"></script>
 
<sc ript src="@Url.Content("~/Scripts/jquery-1.8.3.min.js")" type="text/javascript"></script>
     <sc ript src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
 
@{
    ViewBag.Title = "Index";
    HtmlHelper.UnobtrusiveJavaScriptEnabled = true;
}
 
<div id="progress" st yle="display: none;">
 
      <img src="/Content/images/loader2.gif" height="30px" width="30px" alt="loader" />
   </div>
<div id="partial1">
@using (Ajax.BeginForm("Partial1", "Home", new AjaxOptions
{
    UpdateTargetId = "partial1",
    HttpMethod = "POST",
    InsertionMode = InsertionMode.Replace,
    OnFailure = "OnFailure('BeginForm Replace failed')",
    LoadingElementId = "progress"
}))
{   
  
    <button type="submit" onc lick = "this.style.visibility='hidden'">ввод данных</button>
}  </div>
...
Рейтинг: 0 / 0
Все элементы DropDownList меняют значения на новое значение любого из них при выборе
    #38209990
Фотография anc32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При выборе в каком либо элементе DropDownList выбранное значение выставляется во всех элементах DropDownList страницы.
...
Рейтинг: 0 / 0
Все элементы DropDownList меняют значения на новое значение любого из них при выборе
    #38210095
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поставьте breakpoint внутри action и посмотрите, что в эти ViewData записывается и почему
...
Рейтинг: 0 / 0
Все элементы DropDownList меняют значения на новое значение любого из них при выборе
    #38210657
Фотография anc32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ViewData записываются верные значения - списки, в каждом свой selected=true элемент, а прорисовывается выбранным во всех списках один и тот же элемент - выбранный в каком-либо списке с запуском события onchange.
...
Рейтинг: 0 / 0
Все элементы DropDownList меняют значения на новое значение любого из них при выборе
    #38210677
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чето я сразу не заметил
Код: sql
1.
@Html.DropDownList("Select" + i.ToString(), ...
...
Рейтинг: 0 / 0
Все элементы DropDownList меняют значения на новое значение любого из них при выборе
    #38212007
Фотография anc32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
...
Рейтинг: 0 / 0
Все элементы DropDownList меняют значения на новое значение любого из них при выборе
    #38212017
Фотография anc32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как изменить заголовок метода действия Partial(), чтобы можно было принять туда Select.. и number.. ?
...
Рейтинг: 0 / 0
Все элементы DropDownList меняют значения на новое значение любого из них при выборе
    #38212019
Фотография anc32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partial(params object[] o) - так все время null передается.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Все элементы DropDownList меняют значения на новое значение любого из них при выборе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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