9 / 9 / 0
Регистрация: 15.06.2010
Сообщений: 126
1

Передача поля в контроллер из вьюшки без пападания поля во вьюшку

02.04.2014, 16:16. Показов 1063. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Имеется контроллер:

C#
1
2
3
4
5
6
7
8
9
10
public class TestController
    {
        public long personID;
 
        [HttpPost]
        public ActionResult SavePerson(BPersonEducations PersonEducations)
        {
            return null;
        } 
    }
И вьюшка:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
@model BPerson
 
    <div id="PersonEducationsDiv" style="width:400px;">
        
        <fieldset>
            <!--@Html.HiddenFor(m => m.PersonID)--> <!-- этого поля тут не должно быть -->
 
            <div class="input-control select">
                @Html.DropDownListFor(m => m.TypeID, null, String.Empty)
            </div>
 
        </fieldset>
    </div>
Как при вызове метода Test/SavePerson получить поле personID не отправляя его во вьюшку? Чтобы никакой добрый человек не смог при сохранении поменять айдишник.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2014, 16:16
Ответы с готовыми решениями:

Как рефрешить поля из вьюшки или про агенты вопрос
Проблема такая: Есть агент, которорый отрабатывает на selected docs. Но перед обработкой каждого...

Битовые поля. Поля без типа и имени
Вчера сделал очень интересную и болезненную ошибку (с точки зрения времени, так как искал я ее...

Найти работу поля, разность потенциалов на концах участка, напряженность поля, объемную плотность энергии поля
Электрон разгоняется однородным полем на участке 10^(-2) см до скорости 4×10^6 м/с. Найти:...

Зависимые поля (список значений одного поля зависит от значения другого поля)
Здравствуйте, Уважаемые участники форума, изучив множество подобных вопросов на разных форумах,...

3
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
03.04.2014, 00:54 2

Не по теме:

что знают двое знает и свинья, в вашем случае двое - клиент и сервер



вам нужна валидация полученного Id на стороне сервера. если у человека есть права редактирования персоны с этим Id - не все ли равно получил он их тыкнув на кнопку или подменив Id на форме?
если прав нет - сервер отправит человека гулять
0
9 / 9 / 0
Регистрация: 15.06.2010
Сообщений: 126
03.04.2014, 07:31  [ТС] 3
Tessen. Можно подробнее про валидацию? Встречал валидацию только при вводе данных в форме, но не такую как вы описываете.

Цитата Сообщение от Tessen Посмотреть сообщение
не все ли равно получил он их тыкнув на кнопку или подменив Id на форме?
Клиенту не разрешено редактировать поле PersonID. На то он и был скрытый.
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
03.04.2014, 14:55 4
я опишу два случая т.к. не понял про какой из них вы говорите:
1) есть таблица, пользователь берет из нее элемент на редактирование. в элементе содержится какое-то поле которое пользователь не должен редактировать
решение: в контроллере получаем результат редактирования, получаем сущность из базы, копируем в сущность только те поля которые пользователю редактировать можно
итог: что бы он ни вбил в недоступное поле изменения не пройдут

2) Id используется для идентификации сущности в базе (PK), пользователь берет из базы сущность на редактирование, когда он отдает ее обратно мы по Id ищем отданную сущность и изменяем ее поля на отредактированные
очевидно, что если пользователю доступны для редактирования _ВСЕ_ записи таблицы проблемы нет, мы просто получим другую сущность и отредактируем ее. пользователь мог сделать это ничего не подменяя - просто выбрав для редактирования другую сущность

если же пользователю доступны для редактирования _НЕ ВСЕ_ записи таблицы, то нам нужно защититься от ушлого человека, который изменит Id в поле и попытается отправить запрос обратно, чтобы контроллер отредактировал в базе неправильную сущность
решение: внутри контроллера получив запрос перед тем как доставать из базы сущность для редактирования проверяем доступна ли пользователю сущность. Если доступна - см. предыдущий абзац, проблемы нет. Если недоступна - плюнуть в морду сообщением об ошибке.
0
03.04.2014, 14:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2014, 14:55
Помогаю со студенческими работами здесь

Как связать между собой два поля (список значений одного поля зависит от значения другого поля)
Есть таблица: предмет, КодТипаМатериала (список), КодМатериала (список) для примера: ...

Отправка содержимого поля в файл при нажатии кнопки без потери этого содержимого с поля
Привет всем!) Я отправляю содержимое textarea в файл при нажатии кнопки, после нажатия на кнопку...

Передача параметра во вьюшку
Всем привет. Нужно из БД выводить запись. Запрос примерно такой. Позже оптимизирую SELECT...

Как в access сделать запрос без повторений(чтобы требуемые поля выводились без повтора)???
есть 3 табл. R1 = (ФИО, Дисциплина, Оценка); R2 = (ФИО, Группа); R3 = (Группы, Дисциплина)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru