Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
Только начал заниматься ASP.NET MVC . Нужна помощь . На Web-странице есть элемент GridView . В нем отображены пользователи . Над колонкой , где располагаются Фамилия+Инициалы (например, Сидоров А.С.) есть поле для поиска . Когда в это поле для поиска вводишь текст , в GridView сразу по ходу ввода происходит фильтрация пользователей. Вопрос наверное очень простой - просто только начал со всем этим работать - Как найти функцию , которая срабатывает при вводе в это поле текста и соответсвенно отображает отфильтрованных пользователей в GridView? Будет ли она в соотв. контроллере , во view или в Models/DAL/.. - где логичнее , в контроллере наверное ? Спасибо большое заранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 16:48 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
NIonКак найти функцию я так понимаю, вы пытаетесь разобраться с работающим приложением? для начала можно посмотреть в разметку. найти поле. посмотреть как оно написано. потом посмотреть еще раз на это же поле в браузере, например, под firebugом в firefox. так же должен интересовать метод "привязки" данных к гридвью и его вызовы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 17:33 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
NIon, функцию найти очень легко. она находится на странице, либо в подключаемом JS-файле, либо в <script> блоке. она реагирует на появление новых символов в элементе управления <input>, которое является строкой поиска. после небольшой задержки в примерно 200-400 мс, она делает AJAX запрос, получает данные и обновляет GridView. принцип такой. конкретная реализация может быть любой. что еще тут добавить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 17:38 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
Да , приложение работающее. Как такового элемента управления <input> на странице нет , я так понимаю, что это поле , в которое вводятся данные и после этого происходит отбор является частью самого GridView , т.е. оно находится под названием колонки GridView , под ним этим полем уже идут строки с данными. Вот на картинке это поле под ФИО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 18:09 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
NIon, поле это и есть <input>. реализация фильтрации выполнена на клиенте с помощью JavaScript. возможно еще и на сервере, когда незаметно для пользователя JavaScript со страницы отправляет запрос и получает отфильтрованные данные. способ реализации так много, что угадать как у вас там сделано трудно. поэтому на большее не расчитывайте. найти её можно, изучив код страницы, или с помощью дебаггера, например FireBug или Chrome DevTools... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 18:14 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
<div id ="UserTableDiv"> <%= Html.GridView("UserTable", typeof(MyApp.Models.MyUser_Validation))%></div> - вот как описан div , в который вставлен GridView - можно тут что-то доп. сказать ? Вот , какие есть функции на странице : ===== $(document).ready(function () {...} === $(document).ready( function () { $(function () { $.ajaxSetup({...} === jQuery.fn.center = function () {..} === связанного с поиском вроде нет ничего.... - в контроллере копать тогда ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 18:37 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
NIon, смотрите в результирующую страницу. что там нерендерилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 18:41 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
( hVostt ) А как можно это дело исследовать с помощью Chrome DevTools ? В смысле , смотреть результирующую страницу , "ччто там нарендерилось" - в результ. странице список пользователей с возможностью фильтрации. Можно наверное еще профайлер на SQL-сервере запустить , и начать отбирать , и посмотреть , что SQL запускает , какие SP... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 21:01 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
NIon, http://habrahabr.ru/post/149053/ как посмотреть, что нарендерилось? нажимаете на странице правой кнопкой мыши и выбираете «Просмотр кода страницы» (в Chrome), или «Исходный код страницы» (в FireFox), или «Просмотр HTML-кода» (в Internet Explorer) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 21:35 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
я так понимаю грид реализован сторонним компонентом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2013, 07:50 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
hVosttNIon, http://habrahabr.ru/post/149053/ как посмотреть, что нарендерилось? нажимаете на странице правой кнопкой мыши и выбираете «Просмотр кода страницы» (в Chrome), или «Исходный код страницы» (в FireFox), или «Просмотр HTML-кода» (в Internet Explorer) Как исходный код страницы посомтреть я знаю , спасибо - я просто не понял сначала , о чем речь. Но это в принципе ничего не дало. А вот за Chrome DevTools и ссылку спасибо огромное - мощная штука , с помощью него я нашел , какой метод класса вызывается. Вот что пишет в console Chrome DevTools при изменении фильтра в GridView: GET http://MyServer/MyApp/Users/UserData?bossOnly=false&_search=false&nd=1378891866121&rows=20&page=1&sidx=&sord=asc и т.д..... где UserData - это метод класса UserController (находится в UserController.cs) , вот как он определен // Метод необходимый для заполенеия grid public JsonResult UserData(int? page, bool _search, string sidx, string sord, string UserFirstName, string TypeName, bool bossOnly) { ....} Вопрос №1. Только все равно непонятно , каким образом он вызывается этот метод UserData - ни на одной из страниц , относящихся к View/Users я вызова этого метода не нашел. И появился еще вопрос № 2. Я сижу на клиентской машине , Веб-сервер и SQL-сервер это удаленные сервера. Периодически , через 1-3 раза при обновлении страницы Веб-приложения появляется следующее сообщение: Ошибка: EntityException произошла в Users \ Index Сообщение: The underlying provider failed on Open. Сообщение InnerException: Login failed for user 'NT AUTHORITY\АНОНИМНЫЙ ВХОД'. В яндексе смотрел - причин может быть несколько , но почему такое происходит не постоянно , а через 1-3 раза и все потом становится нормально - вот это непонятно. Спасибо большое заранее за любую помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2013, 13:57 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
NIon, по вопросу №1. вызов метода регистрируется где-то в JS-файлах компонента GridView. он срабатывает на определённое событие. возможно это событие регистрируется вот так: Код: javascript 1. по вопросу №2. слетает авторизация. больше ничего не могу сказать, надо больше информации: отлаживать, логгировать, искать причину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2013, 14:04 |
|
||
|
Нужна помощь по MVC -- GridVew
|
|||
|---|---|---|---|
|
#18+
hVosttNIon, по вопросу №1. вызов метода регистрируется где-то в JS-файлах компонента GridView. он срабатывает на определённое событие. возможно это событие регистрируется вот так: $('#<здесь идентификатор поля поиска>').change(<здесь регистрация метода>) по вопросу №2. слетает авторизация. больше ничего не могу сказать, надо больше информации: отлаживать, логгировать, искать причину. Спасибо большое за помощь . js-файлов очень много , буду искать :) . Посомтрел - там показывает и файл и строку кода js , откуда был вызов , и стек можно посомтреть. Вызов GET http://MyServer/MyApp/Users/UserData непосредственно осуществлялся из jQuery-1.4.1.js строка 5123 - но самого $('#<здесь идентификатор поля поиска>').change(<здесь регистрация метода>) я пока не нашел.. Вот мне еще что непонятно. Вопрос № 3. В console Chrome DevTools иногда перестает показывать выловленные запросы типа GET http://MyServer/MyApp/Users/UserData?bossOnly=false&_search=false&nd=1378891866121&rows=20&page=1&sidx=&sord=asc и т.д..... - и надо перезагружать Chrome - тогда снова начинает показыать. С чем это может быть связано ? И еще по вопросу №2 - то что слетает авторизация. Сейчас осознал, что такое началось, когда начал пользоваться браузером Chrome . Запускаешь его - в нем , анпример, проблема с авторизацией. В IE заходишь на ту же страницу - все нормально , и сразу после этого получается и в Chrome на эту же страницу зайти. Может в Chrome настройки какие-то нужно поменять ? Спасибо большое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2013, 18:02 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38393585&tid=1358118]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 340ms |

| 0 / 0 |
