powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / можно ли иначе(multiplecheckboxes)
5 сообщений из 5, страница 1 из 1
можно ли иначе(multiplecheckboxes)
    #37967161
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем из экшена возврашается список состоящий из класса с полями Id,Name, Checked
рисуют
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
 @for (int i = 0; i < Model.Collection.Count(); i++)
                    {
                        @Html.CheckBoxFor(item => item.Collection[i].Checked)
                        @Model.Collection[i].Name
                        @Html.HiddenFor(item => item.Collection[i].Name)
                        @Html.HiddenFor(item => item.Collection[i].Id)

                    }


После самбита, я вижу что чекнут а что нет. Но это занимает 4 html тега что как бы расточительно по идее .. верстка выглядит не сосвсем уже чисто. Можно ли уложится как то в 2 тега (<label><<input type="checkbox"></label>) чтоб после submit я в экшене получил список назад.
...
Рейтинг: 0 / 0
можно ли иначе(multiplecheckboxes)
    #37967285
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем наименование туда-сюда передовать?
Код: c#
1.
@Html.HiddenFor(item => item.Collection[i].Name)
...
Рейтинг: 0 / 0
можно ли иначе(multiplecheckboxes)
    #37967296
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну чтоб к бд не обращатся, когда что то не ввел или валидация не прошла, то вернуть назад во вьюшку.Тогда то что человек вбил останется вбитыми + месага о ошибке
...
Рейтинг: 0 / 0
можно ли иначе(multiplecheckboxes)
    #37967371
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuВообщем из экшена возврашается список состоящий из класса с полями Id,Name, Checked
рисуют
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
 @for (int i = 0; i < Model.Collection.Count(); i++)
                    {
                        @Html.CheckBoxFor(item => item.Collection[i].Checked)
                        @Model.Collection[i].Name
                        @Html.HiddenFor(item => item.Collection[i].Name)
                        @Html.HiddenFor(item => item.Collection[i].Id)

                    }


После самбита, я вижу что чекнут а что нет. Но это занимает 4 html тега что как бы расточительно по идее .. верстка выглядит не сосвсем уже чисто. Можно ли уложится как то в 2 тега (<label><<input type="checkbox"></label>) чтоб после submit я в экшене получил список назад.

как то так

Код: 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.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace webGrid.Controllers {
    public class HomeController : Controller {
        //
        // GET: /Home/

        public ActionResult Index() {
            var repo = new Data();
            var model = new UsersModel {Users = repo.GetUsers()};
           
            return View(model);
        }
        [HttpPost]
        public ActionResult Index(string[] ckb) {
            var a = ckb;
            return Index();

        }
    }

    public class UsersModel {
        public IEnumerable<User> Users { get; set; } 
    }

    public class User {
        public int Id { get; set; }
        public string Name { get; set; }
        public bool IsChecked { get; set; }
    }

    public class Data {
        public IEnumerable<User> GetUsers() {
            return new List<User> {
                                      new User {Id = 1, Name = "jeka", IsChecked = true},
                                      new User {Id = 2, Name = "Alex", IsChecked = false},
                                      new User{Id=3,Name = "Serg",IsChecked = true},
                                      new User{Id=4,Name = "Anna",IsChecked = false},

                                  };

        }
    }

    
}




Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
@model webGrid.Controllers.UsersModel

@using (Html.BeginForm("Index", "Home", FormMethod.Post)) {
    foreach (var p in Model.Users) {
        
        <input type="checkbox"  name="ckb" value="@p.Id"  @(p.IsChecked? "checked='checked'": "")/>
        @Html.Label("name", p.Name)
        
        <br/>
    }
    <input type="submit"/>
}
...
Рейтинг: 0 / 0
можно ли иначе(multiplecheckboxes)
    #37968006
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deza спасибо. верстка почище. Состояние через бд восстанавливаю(Name) . Продолжу не много вне темы. Оправдано ли использование патерна UnitOfWork + Repository, чтоб бизнес логика меньше зависила от ORM? Выскажите кто юзает свое мнение. (я обычно делал слой сервиса который брал определную сущность,по сути смешивал слои, подход может глуп но научится можно всегда новому, изза этого и спрашиваю) По идее врядли на проекте будет меняться бд и орм в процессе создания. ну очень редкие случаи в моей практике.
в яве вообще слоев туча http://www.j2eebrain.com/wp-content/uploads/figure06_02.gif.
П.С.особенно интерсно мнение МСУ )
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / можно ли иначе(multiplecheckboxes)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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