powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Несколько форм на одной странице [MVC/Razor]
25 сообщений из 99, страница 3 из 4
Несколько форм на одной странице [MVC/Razor]
    #38616420
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

вообще-то не важно как передавать. хочешь передавай в json.
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616469
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttмсущкоТипизированную модель для вью, которая должна отражать всю информацию?
всё забей. ты похоже совсем не в теме. даже отдалённо. типизированная модель это часть ViewData. а ты против неё. палата №6 плачет по такому поциенту
Мда, можешь не напрягать своё сало в черепной коробке. Как всегда ничего не понял. Типизированная модель - это посох света и добра в этом жестоком мире, который заполонили такие мартышки как ты. Мы будем работать дальше, а ты пили, Шура, пили. Когда поседеешь до годков Степного, перейдёшь на исследование тёмных уголков дотнета. Благо MS идёт у вас на поводу и дарит такие подарки .

hVosttтак ты уточняй о какой версии идёт речь. сам говоришь про альфу, потом что-то лопочешь о боевом коде. сплошное противоречие. это не дело.
Так а какая разница, если разрабы выпилили твой EntitySetController к едрене фене. Будет стэйбл, ничего не изменится. Даже тут ты нихрена не понял, об чём идёт толк.

P.S. Ничего не изменилось за почти пол-года моего отсутствия. Толкайся в песочнице дальше, ковыряй knockout и надрачивай на fluent. Поди ж веселье какое!
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616478
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущкоМда, можешь не напрягать своё сало в черепной коробке. Как всегда ничего не понял. Типизированная модель - это посох света и добра в этом жестоком мире, который заполонили такие мартышки как ты. Мы будем работать дальше, а ты пили, Шура, пили. Когда поседеешь до годков Степного, перейдёшь на исследование тёмных уголков дотнета. Благо MS идёт у вас на поводу и дарит такие подарки .

это чего это за высер? типизированная модель является частью ViewData (ViewData.Model), ты же извонялся весь на говно, что дескать ViewData не пользовался и некогда не будешь. а чем ещё пользоваться? модель-то передаётся через ViewData. короче ты понял что тупанул и съехал на кокой-то гундёж про седину степного, чё куришь, признавайся? токо не говори, что эту вот эту седину и покуриваешь

мсущкоТак а какая разница, если разрабы выпилили твой EntitySetController к едрене фене. Будет стэйбл, ничего не изменится. Даже тут ты нихрена не понял, об чём идёт толк.

да ты хуже госдепа сша, стандартны у тебя какие-то двойные. где-то ты верещишь о том, что пока не будет стейбла, ты херен претронишься, аж слюни летят во все стороны. а где-то ты тут же заявляешь типа стейбел-нестейбел какая на разница. короче ты уже определись, харе мозги морочить.
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616484
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущкоP.S. Ничего не изменилось за почти пол-года моего отсутствия. Толкайся в песочнице дальше, ковыряй knockout и надрачивай на fluent. Поди ж веселье какое!

я больше полугода назад уже сделал то, о чем в этой теме написал. зачем мне чего-то там надрачивать? я сделал решение и пользуюсь им до сих пор, решаю задачи. а чем ты там занимался я хз. мировоззрение менял чтоле? я так посмотрю ты остоновился где-то на пол пути, раньше был путний МСУ с чёткой точкой зренея, а сейчас не пойми чего, сам себе противоречишь на каждом шагу. что с тобой сделалось?
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616592
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущко, ожил,

Пришел почитал новости . тынц
Вот ты имеешь сайт, тебя вроде как можно приравнять к сми ( вещаешь для пипла)
А вот если ктонить разместит код там, или ты по недогляду скопипастишь
Код: c#
1.
2.
3.
4.
            while (isPutinAlive)
            {
                if(MaidanAction()) break;
            }


Можно уехать в магадан, на прибор что моет тяжелый метал (((
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616604
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttэто чего это за высер? типизированная модель является частью ViewData (ViewData.Model), ты же извонялся весь на говно, что дескать ViewData не пользовался и некогда не будешь. а чем ещё пользоваться? модель-то передаётся через ViewData. короче ты понял что тупанул и съехал на кокой-то гундёж про седину степного, чё куришь, признавайся? токо не говори, что эту вот эту седину и покуриваешь
Очередной околопоносный вброс чумачечей кодеманки. Типизированная модель является и частью .NET, так что, давай распотрошим дотнет и вскроем себе вены? Не мели глупостей, пользоваться моделью as is, никаких вьюдат и вьюбагов. Пятьсот раз уже вдалбливал тебе. Что и как передается, не ума дела твоей модели. И уж тем более завязываться на это в прикладном коде не стоит. Опять ты завёл свою балалайку як пионер.

hVosttмсущкоТак а какая разница, если разрабы выпилили твой EntitySetController к едрене фене. Будет стэйбл, ничего не изменится. Даже тут ты нихрена не понял, об чём идёт толк.
да ты хуже госдепа сша, стандартны у тебя какие-то двойные. где-то ты верещишь о том, что пока не будет стейбла, ты херен претронишься, аж слюни летят во все стороны. а где-то ты тут же заявляешь типа стейбел-нестейбел какая на разница. короче ты уже определись, харе мозги морочить.
Ты мне напоминаешь яйцеголового Яйценюка, которому дали колбасу и сказали, что это сыр. Он бросился в огонь, разбивая свой лоб в щепки и рвя правду матку - сыр во имя народа, сыр во имя свободы. Что-то я не припомню, где я утверждал, что нет стейбла - в топку. Покажешь? И тем не менее сроки таковы, что надо пилить на новой альфе, увы. Более того, % коллизий в моём случае будет ничтожно мал, чем в твоём случае, где нужно под корень всё заново переписывать. Тут определяться не нужно, просто сиди дальше кукарекай про флюенты на своём заборе. А мы поработаем

hVosttмсущкоP.S. Ничего не изменилось за почти пол-года моего отсутствия. Толкайся в песочнице дальше, ковыряй knockout и надрачивай на fluent. Поди ж веселье какое!
я больше полугода назад уже сделал то, о чем в этой теме написал. зачем мне чего-то там надрачивать? я сделал решение и пользуюсь им до сих пор, решаю задачи. а чем ты там занимался я хз. мировоззрение менял чтоле? я так посмотрю ты остоновился где-то на пол пути, раньше был путний МСУ с чёткой точкой зренея, а сейчас не пойми чего, сам себе противоречишь на каждом шагу. что с тобой сделалось?
Я тебя умоляю, что ты там полгода назад сделал-то? Ты пол-года назад плёл чушь, что "лямбда компилируется в Expression" и моими пинками еле-еле был заставлен учить матчасть по делегатам и linq в частности. Не смеши мои носки, чёткий точечный паря
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616609
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степи, из твоей новости
рбцКто такие «организаторы распространения информации», в законе прописано не очень ясно (см. справку). «Организатор — это тот, кто использует Интернет для распространения информации, предназначенной для неопределенного круга лиц», — поясняет Митрофанов. По его словам, из их числа предлагается исключать только лицензированных операторов интернет-связи, операторов государственных и муниципальных информационных систем, а также простых россиян, которые будут использовать Интернет «для личных, семейных или домашних нужд».
Я - простой россиянин, который использую кодеартиклес для личные и домашних нужд. Ниибет :)
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616613
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущко,
hVostt да ты хуже госдепа сша, бугаггага
я уже это где то слышал )))))))))))))))))))
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616620
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущко,
авторЯ - простой россиянин, который использую кодеартиклес для личные и домашних нужд. Ниибет :)
тогда запрети поисковикам заруливать на свой сайт.
Надо предложить этому Митрофанову, такую фитчу как дополнение к этому безумию...
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616657
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущкоОчередной околопоносный вброс чумачечей кодеманки. Типизированная модель является и частью .NET, так что, давай распотрошим дотнет и вскроем себе вены? Не мели глупостей, пользоваться моделью as is, никаких вьюдат и вьюбагов. Пятьсот раз уже вдалбливал тебе. Что и как передается, не ума дела твоей модели. И уж тем более завязываться на это в прикладном коде не стоит. Опять ты завёл свою балалайку як пионер.

трава была по ходу забористой )))))) "Типизированная модель является и частью .NET" количество открытых омерик в твоём лице просто зашкаливает, капитан очевидность гневно срывает свои погоны и уходит на пенсию! куда ему тяхаться с таким товарищем )))))))

архитектура ASP.NET MVC тебе явно не по зубам оказалась. ViewData является основным и практически единственным легитимным переносчиком данных между контроллером и вью. мало того. вот пользователь вводит в поле, которое привязано к свойству типа Int32 модели, какой-нибудь текст типа "машка-дура", это дело отправляется методом POST и пытается забиндиться и.. опа! неудача. модель получает статус "не валидная" и отправляется на повторное редактирование пользюку. и как же так получилось, что в поле, которое биндится к Int32, оказывается текст! именно тот невалидный текст, который пользователь ввёл! где же это информация у нас сохранялась и как она попала во вью, откуда? типизированная модель не способна на такое. а это, непутёвый загнавшийся ты в край товарищь, заслуга ViewData. которая несёт на борту не только саму типизированную модель, ну и кучу важных метаданных, и контекст шаблона, существование которых ты напрочь отвергаешь, видя только зло, представленное в виде словаря. в общем ты слил, и теперь поливаешь обильно своими жидкими какашками грядку.

мсущкоИ тем не менее сроки таковы, что надо пилить на новой альфе, увы.

зачётное оправдание


мсущкоБолее того, % коллизий в моём случае будет ничтожно мал, чем в твоём случае, где нужно под корень всё заново переписывать.

зачем переписывать то, что отлично работает? в новом проекте запилю новый подход. есть проекты, где WebAPI v1. нормально фурычит и нет никакого смысла переделывать всё на v2.

а если уж ты такой грамотный, а ну бегом быстренько переделывать свои убогие мембершипы, на которые MS уже окончательно поклала, на новенький модненький Identity! или не пори чепухи с глупыми детскими оправданиями. дескать на альфе тебя заставили кодить. кого смешишь? мои тапочки даже не смеются над такой очевидной глупостью.

мсущкоТы пол-года назад плёл чушь, что "лямбда компилируется в Expression"

я хоть умею свои ашипки признавать, а вот у тебя с этим определённые проблемы. поседеешь, а будешь до последнего свою неправоту доказывать
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616697
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttмсущкоОчередной околопоносный вброс чумачечей кодеманки. Типизированная модель является и частью .NET, так что, давай распотрошим дотнет и вскроем себе вены? Не мели глупостей, пользоваться моделью as is, никаких вьюдат и вьюбагов. Пятьсот раз уже вдалбливал тебе. Что и как передается, не ума дела твоей модели. И уж тем более завязываться на это в прикладном коде не стоит. Опять ты завёл свою балалайку як пионер.

трава была по ходу забористой )))))) "Типизированная модель является и частью .NET" количество открытых омерик в твоём лице просто зашкаливает, капитан очевидность гневно срывает свои погоны и уходит на пенсию! куда ему тяхаться с таким товарищем )))))))

архитектура ASP.NET MVC тебе явно не по зубам оказалась. ViewData является основным и практически единственным легитимным переносчиком данных между контроллером и вью. мало того. вот пользователь вводит в поле, которое привязано к свойству типа Int32 модели, какой-нибудь текст типа "машка-дура", это дело отправляется методом POST и пытается забиндиться и.. опа! неудача. модель получает статус "не валидная" и отправляется на повторное редактирование пользюку. и как же так получилось, что в поле, которое биндится к Int32, оказывается текст! именно тот невалидный текст, который пользователь ввёл! где же это информация у нас сохранялась и как она попала во вью, откуда? типизированная модель не способна на такое. а это, непутёвый загнавшийся ты в край товарищь, заслуга ViewData. которая несёт на борту не только саму типизированную модель, ну и кучу важных метаданных, и контекст шаблона, существование которых ты напрочь отвергаешь, видя только зло, представленное в виде словаря. в общем ты слил, и теперь поливаешь обильно своими жидкими какашками грядку.
Ууу, как всё запущено у мартышки, ни дать ни перднуть. Ну давай, обо всё по-порядку. Никакой "передачи" данных между контроллером и вью нету, глупенький. cshtml / vbhtml - это серверная разметка, которая рендерится в респонз. Этот серверный код может динамически создавать клиентское содержимое, т. е. генерировать разметку HTML или другое содержимое "на лету", а затем передавать его в браузер вместе со статическим HTML-кодом страницы. Это всё идет прямиком от Microsoft WebMatrix, после мартицы разор стал так популярен. Никаких вьюбагов и вьюдат не надо, чтобы "передать" объект из контроллера в представление, для этого есть @Model, которая смотрит прямиком на абстрактный класс WebViewPage<T>. Ни в какие кишки лезть не нужно, наличие одной модели у вью 100% достаточно, чтобы решить любую задачу любой сложности. А то, что ты там наприводил с невалидным текстом и интами есть ни что иное, как банальная валидация и никакого отношения к теме не имеет. Валидация бывает серверная, бывает клиентская, всё как в детском садике. Задача движка - организовать эту валидацию так, как мне нужно, с помощью гибкой архитектуры IDataErrorInfo, IValidatableObject и IModelBinder. Причем тут сцуко вьюдата, дуралейко?

hVosttмсущкоИ тем не менее сроки таковы, что надо пилить на новой альфе, увы.
зачётное оправдание
Это факт, а не оправдание. Причем фундаментальный и неоспоримый.

hVosttмсущкоБолее того, % коллизий в моём случае будет ничтожно мал, чем в твоём случае, где нужно под корень всё заново переписывать.
зачем переписывать то, что отлично работает? в новом проекте запилю новый подход. есть проекты, где WebAPI v1. нормально фурычит и нет никакого смысла переделывать всё на v2.
а если уж ты такой грамотный, а ну бегом быстренько переделывать свои убогие мембершипы, на которые MS уже окончательно поклала, на новенький модненький Identity! или не пори чепухи с глупыми детскими оправданиями. дескать на альфе тебя заставили кодить. кого смешишь? мои тапочки даже не смеются над такой очевидной глупостью.
Не путай божий дар с яичницей. Мебмершип никто не выпиливал, он будет работать всюду - и на старых .NET 2.0 проектах, и на новых .NET 4.5.1, причем работать он будет так же четко, как это делал всегда. А в твоём же случае на лицо урезание функционала в новых версиях odata. Что это значит? Это значит, что используя новую версию твои труды идут коту под жопу. Где тебе и таким как ты самое место
Теперь ты понимаешь разницу между "выпилить" и "не развивать"? Умница. Ну а по поводу мембершипа, зачем мне переделывать его? Пусть себе работает. Как работал на 2.0, так и будет работать на 4.5.1, он есть не просит и справляется со своей задачей на 100%. А модный Identity только для новый проектов. Так что у меня всё чисто, а у тебя - грязно. Пили дальше, Шура, пили - твой удел пилить код, всю жизнь

hVosttмсущкоТы пол-года назад плёл чушь, что "лямбда компилируется в Expression"
я хоть умею свои ашипки признавать, а вот у тебя с этим определённые проблемы. поседеешь, а будешь до последнего свою неправоту доказывать
Пока тебе раз 500 пендалей не отвесишь, "ошибку" не признаешь. Ну кому ты тут сказки плётешь, трутень?
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616735
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
 // Summary:
    //     Represents the properties and methods that are needed in order to render
    //     a view that uses ASP.NET Razor syntax.
    //
    // Type parameters:
    //   TModel:
    //     The type of the view data model.
    public abstract class WebViewPage<TModel> : WebViewPage
    {
        // Summary:
        //     Initializes a new instance of the System.Web.Mvc.WebViewPage<TModel> class.
        protected WebViewPage();

        // Summary:
        //     Gets or sets the System.Web.Mvc.AjaxHelper object that is used to render
        //     HTML markup using Ajax.
        //
        // Returns:
        //     The System.Web.Mvc.AjaxHelper object that is used to render HTML markup using
        //     Ajax.
        public AjaxHelper<TModel> Ajax { get; set; }
        //
        // Summary:
        //     Gets or sets the System.Web.Mvc.HtmlHelper object that is used to render
        //     HTML elements.
        //
        // Returns:
        //     The System.Web.Mvc.HtmlHelper object that is used to render HTML elements.
        public HtmlHelper<TModel> Html { get; set; }
        //
        // Summary:
        //     Gets the Model property of the associated System.Web.Mvc.ViewDataDictionary
        //     object.
        //
        // Returns:
        //     The Model property of the associated System.Web.Mvc.ViewDataDictionary object.
        public TModel Model { get; }
        //
        // Summary:
        //     Gets or sets a dictionary that contains data to pass between the controller
        //     and the view.
        //
        // Returns:
        //     A dictionary that contains data to pass between the controller and the view.
        public ViewDataDictionary<TModel> ViewData { get; set; }

        // Summary:
        //     Initializes the System.Web.Mvc.AjaxHelper, System.Web.Mvc.HtmlHelper, and
        //     System.Web.Mvc.UrlHelper classes.
        public override void InitHelpers();
        //
        // Summary:
        //     Sets the view data.
        //
        // Parameters:
        //   viewData:
        //     The view data.
        protected override void SetViewData(ViewDataDictionary viewData);
    }
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616749
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущкоПричем тут сцуко вьюдата, дуралейко?

ты точно упоротый, при чём в край

http://msdn.microsoft.com/ru-ru/library/gg401883(v=vs.118).aspx

а @Model это референс на ViewData.Model, при чём если тип модели не указан, то типом шаблона является тип dynamic.

слил ты конкретно. хватит плюхать руками по грязи, сел в лужу, признай!


мсущкос помощью гибкой архитектуры IDataErrorInfo, IValidatableObject и IModelBinder.

так уж, для справки. результат работы этих интерфейсов сохраняется во ViewData, иначе они попросту бесполезны.

мсущкоМебмершип никто не выпиливал, он будет работать всюду - и на старых .NET 2.0 проектах, и на новых .NET 4.5.1, причем работать он будет так же четко, как это делал всегда.

К.О. отдаёт тебе честь!

мсущкоНу а по поводу мембершипа, зачем мне переделывать его?

точняк! так и с какого же хрена я должен разбежаться и срочняком всё начать переделывать всё на новую альфу? хватит уже пороть охинею. признай, ты просто решил понтонуться секретными "знаниями", ох уж этот еврейский вопрос "а каким ты контроллером пользуешься?" с подвохом )))))))
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616769
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttмсущкоПричем тут сцуко вьюдата, дуралейко?

ты точно упоротый, при чём в край

http://msdn.microsoft.com/ru-ru/library/gg401883(v=vs.118).aspx

а @Model это референс на ViewData.Model, при чём если тип модели не указан, то типом шаблона является тип dynamic.

слил ты конкретно. хватит плюхать руками по грязи, сел в лужу, признай!

Опять околопоносица лётся из твоих уст. Завязывай с наркотиками, чудик

@Model - это сам WebViewPage<T>. А @ViewData.Model - это WebViewPage<T>.Model, учит матчасть, кодеманка. Твой тупёж просто верх кретинизма. Тут и лужа не поможет, которую ты так навязчиво под меня строишь, тут нужно просто выпилить твой жир.

hVosttмсущкоМебмершип никто не выпиливал, он будет работать всюду - и на старых .NET 2.0 проектах, и на новых .NET 4.5.1, причем работать он будет так же четко, как это делал всегда.
К.О. отдаёт тебе честь!
Слился? Знаю, неловко, но тебе не привыкать.

hVosttмсущкоНу а по поводу мембершипа, зачем мне переделывать его?
точняк! так и с какого же хрена я должен разбежаться и срочняком всё начать переделывать всё на новую альфу? хватит уже пороть охинею. признай, ты просто решил понтонуться секретными "знаниями", ох уж этот еврейский вопрос "а каким ты контроллером пользуешься?" с подвохом )))))))
Так не разбегайся, но ты заранее обрекаешь себя остаться на старье. А новый функционал, который будет появляться как грибы в новомодной odata, будет проходить мимо тебя лесом. Я решил не понтануться, а снова как в былые времена взять тебя на ключок и пополоскать в луже. Ну давай уже считать это традицией, что ли.
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616773
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мсущко@Model - это сам WebViewPage<T>. А @ViewData.Model - это >>>ViewDataDictionary<<<<T>.Model
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616794
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущкоЯ решил не понтануться, а снова как в былые времена взять тебя на ключок и пополоскать в луже.

и в итоге плюхнулся в неё сам, а потом такой весёлый, сидит в грязюке, руками разбрызгивает какульки по сторонам, довольный )) рад за тебя, простое такое щастье



мсущко@Model - это сам WebViewPage<T>

вот кому-кому, а тебе надо научиться регулировать дозу. а то видимо тяпаешь больше, чем влезает )) надо же такое ляпнуть.
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616800
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущко,

Код: c#
1.
2.
3.
4.
        //
        // Returns:
        //     The Model property of the associated System.Web.Mvc.ViewDataDictionary object.
        public TModel Model { get; }



может хватит уже упираться, а? не подвергай сомнению общественную веру в твою способность здравомыслить. а если ты просто так тупо и толсто троллишь, тогда ладно. продолжай )) просто даю намёк, что уже как бы не смешно. пора подыскать другую тему.
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616811
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttмсущкоЯ решил не понтануться, а снова как в былые времена взять тебя на ключок и пополоскать в луже.
и в итоге плюхнулся в неё сам, а потом такой весёлый, сидит в грязюке, руками разбрызгивает какульки по сторонам, довольный )) рад за тебя, простое такое щастье
Ну рассмешил. Кроме соплей и вони о том, что я куда-то там вляпался, от тебя ничего не услышал. Ты уж давай факты, кодеманка, факты. А то воняешь, когда за шкварник тебя приподняли

hVosttмсущко@Model - это сам WebViewPage<T>
вот кому-кому, а тебе надо научиться регулировать дозу. а то видимо тяпаешь больше, чем влезает )) надо же такое ляпнуть.
Для тех, у кого совсем туго понимаем :) Давай разжую для детей:

1. @Model - это член класса WebViewPage<T>
2. @ViewData.Model - это член класса ViewDataDictionary<TModel>

Так понятнее? Если не понятнее, могу еще раз 10 повторить. Когда, наконец, дойдёт, что это как бы разные вещи, тогда можешь убить себя об стену. По факту они ссылаются на один экземпляр, но в теории могут иметь и разные ссылки - потому, что классы разные WebViewPage и ViewDataDictionary.

hVosttможет хватит уже упираться, а? не подвергай сомнению общественную веру в твою способность здравомыслить. а если ты просто так тупо и толсто троллишь, тогда ладно. продолжай )) просто даю намёк, что уже как бы не смешно. пора подыскать другую тему.
Я выше разжевал. Если нужно дожевать, могу еще раз объяснить. Ты реально дурак, что не понимаешь такие элементарные вещи? :)
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616816
мсуorj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мсущко1. @Model - это член класса WebViewPage<T>
2. @ViewData.Model - это член класса ViewDataDictionary<TModel>

Так вот, для чего я это всё сказал. А для того, что вот этот высер

hVosttViewData является основным и практически единственным легитимным переносчиком данных между контроллером и вью.

является неимоверным бредом всея Руси.

В 100% случаев те, у кого прямые руки, пользуются не @ViewData (ViewDataDictionary), а @Model (WebViewPage).

Так что не надо тут молоть языком, что "ViewData является основным и практически единственным легитимным переносчиком данных между контроллером и вью"

P.S. Так понятнее?
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616819
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.

using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Web.Mvc.Properties;

namespace System.Web.Mvc
{
    // TODO: Unit test ModelState interaction with VDD

    public class ViewDataDictionary : IDictionary<string, object>
    {
        private readonly Dictionary<string, object> _innerDictionary = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
        private readonly ModelStateDictionary _modelState = new ModelStateDictionary();
        private object _model;
        private ModelMetadata _modelMetadata;
        private TemplateInfo _templateMetadata;

        public ViewDataDictionary()
            : this((object)null)
        {
        }

        [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors", Justification = "See note on SetModel() method.")]
        public ViewDataDictionary(object model)
        {
            Model = model;
        }

        [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors", Justification = "See note on SetModel() method.")]
        public ViewDataDictionary(ViewDataDictionary dictionary)
        {
            if (dictionary == null)
            {
                throw new ArgumentNullException("dictionary");
            }

            foreach (var entry in dictionary)
            {
                _innerDictionary.Add(entry.Key, entry.Value);
            }
            foreach (var entry in dictionary.ModelState)
            {
                ModelState.Add(entry.Key, entry.Value);
            }

            Model = dictionary.Model;
            TemplateInfo = dictionary.TemplateInfo;

            // PERF: Don't unnecessarily instantiate the model metadata
            _modelMetadata = dictionary._modelMetadata;
        }

        public int Count
        {
            get { return _innerDictionary.Count; }
        }

        public bool IsReadOnly
        {
            get { return ((IDictionary<string, object>)_innerDictionary).IsReadOnly; }
        }

        public ICollection<string> Keys
        {
            get { return _innerDictionary.Keys; }
        }

        public object Model
        {
            get { return _model; }
            set
            {
                _modelMetadata = null;
                SetModel(value);
            }
        }

        public virtual ModelMetadata ModelMetadata
        {
            get
            {
                if (_modelMetadata == null && _model != null)
                {
                    _modelMetadata = ModelMetadataProviders.Current.GetMetadataForType(() => _model, _model.GetType());
                }
                return _modelMetadata;
            }
            set { _modelMetadata = value; }
        }

        public ModelStateDictionary ModelState
        {
            get { return _modelState; }
        }

        public TemplateInfo TemplateInfo
        {
            get
            {
                if (_templateMetadata == null)
                {
                    _templateMetadata = new TemplateInfo();
                }
                return _templateMetadata;
            }
            set { _templateMetadata = value; }
        }

        public ICollection<object> Values
        {
            get { return _innerDictionary.Values; }
        }

        public object this[string key]
        {
            get
            {
                object value;
                _innerDictionary.TryGetValue(key, out value);
                return value;
            }
            set { _innerDictionary[key] = value; }
        }

        public void Add(KeyValuePair<string, object> item)
        {
            ((IDictionary<string, object>)_innerDictionary).Add(item);
        }

        public void Add(string key, object value)
        {
            _innerDictionary.Add(key, value);
        }

        public void Clear()
        {
            _innerDictionary.Clear();
        }

        public bool Contains(KeyValuePair<string, object> item)
        {
            return ((IDictionary<string, object>)_innerDictionary).Contains(item);
        }

        public bool ContainsKey(string key)
        {
            return _innerDictionary.ContainsKey(key);
        }

        public void CopyTo(KeyValuePair<string, object>[] array, int arrayIndex)
        {
            ((IDictionary<string, object>)_innerDictionary).CopyTo(array, arrayIndex);
        }

        public object Eval(string expression)
        {
            ViewDataInfo info = GetViewDataInfo(expression);
            return (info != null) ? info.Value : null;
        }

        public string Eval(string expression, string format)
        {
            object value = Eval(expression);
            return FormatValueInternal(value, format);
        }

        internal static string FormatValueInternal(object value, string format)
        {
            if (value == null)
            {
                return String.Empty;
            }

            if (String.IsNullOrEmpty(format))
            {
                return Convert.ToString(value, CultureInfo.CurrentCulture);
            }
            else
            {
                return String.Format(CultureInfo.CurrentCulture, format, value);
            }
        }

        public IEnumerator<KeyValuePair<string, object>> GetEnumerator()
        {
            return _innerDictionary.GetEnumerator();
        }

        public ViewDataInfo GetViewDataInfo(string expression)
        {
            if (String.IsNullOrEmpty(expression))
            {
                throw new ArgumentException(MvcResources.Common_NullOrEmpty, "expression");
            }

            return ViewDataEvaluator.Eval(this, expression);
        }

        public bool Remove(KeyValuePair<string, object> item)
        {
            return ((IDictionary<string, object>)_innerDictionary).Remove(item);
        }

        public bool Remove(string key)
        {
            return _innerDictionary.Remove(key);
        }

        // This method will execute before the derived type's instance constructor executes. Derived types must
        // be aware of this and should plan accordingly. For example, the logic in SetModel() should be simple
        // enough so as not to depend on the "this" pointer referencing a fully constructed object.
        protected virtual void SetModel(object value)
        {
            _model = value;
        }

        public bool TryGetValue(string key, out object value)
        {
            return _innerDictionary.TryGetValue(key, out value);
        }

        internal static class ViewDataEvaluator
        {
            public static ViewDataInfo Eval(ViewDataDictionary vdd, string expression)
            {
                //Given an expression "foo.bar.baz" we look up the following (pseudocode):
                //  this["foo.bar.baz.quux"]
                //  this["foo.bar.baz"]["quux"]
                //  this["foo.bar"]["baz.quux]
                //  this["foo.bar"]["baz"]["quux"]
                //  this["foo"]["bar.baz.quux"]
                //  this["foo"]["bar.baz"]["quux"]
                //  this["foo"]["bar"]["baz.quux"]
                //  this["foo"]["bar"]["baz"]["quux"]

                ViewDataInfo evaluated = EvalComplexExpression(vdd, expression);
                return evaluated;
            }

            private static ViewDataInfo EvalComplexExpression(object indexableObject, string expression)
            {
                foreach (ExpressionPair expressionPair in GetRightToLeftExpressions(expression))
                {
                    string subExpression = expressionPair.Left;
                    string postExpression = expressionPair.Right;

                    ViewDataInfo subTargetInfo = GetPropertyValue(indexableObject, subExpression);
                    if (subTargetInfo != null)
                    {
                        if (String.IsNullOrEmpty(postExpression))
                        {
                            return subTargetInfo;
                        }

                        if (subTargetInfo.Value != null)
                        {
                            ViewDataInfo potential = EvalComplexExpression(subTargetInfo.Value, postExpression);
                            if (potential != null)
                            {
                                return potential;
                            }
                        }
                    }
                }
                return null;
            }

            private static IEnumerable<ExpressionPair> GetRightToLeftExpressions(string expression)
            {
                // Produces an enumeration of all the combinations of complex property names
                // given a complex expression. See the list above for an example of the result
                // of the enumeration.

                yield return new ExpressionPair(expression, String.Empty);

                int lastDot = expression.LastIndexOf('.');

                string subExpression = expression;
                string postExpression = String.Empty;

                while (lastDot > -1)
                {
                    subExpression = expression.Substring(0, lastDot);
                    postExpression = expression.Substring(lastDot + 1);
                    yield return new ExpressionPair(subExpression, postExpression);

                    lastDot = subExpression.LastIndexOf('.');
                }
            }

            private static ViewDataInfo GetIndexedPropertyValue(object indexableObject, string key)
            {
                IDictionary<string, object> dict = indexableObject as IDictionary<string, object>;
                object value = null;
                bool success = false;

                if (dict != null)
                {
                    success = dict.TryGetValue(key, out value);
                }
                else
                {
                    TryGetValueDelegate tgvDel = TypeHelpers.CreateTryGetValueDelegate(indexableObject.GetType());
                    if (tgvDel != null)
                    {
                        success = tgvDel(indexableObject, key, out value);
                    }
                }

                if (success)
                {
                    return new ViewDataInfo()
                    {
                        Container = indexableObject,
                        Value = value
                    };
                }

                return null;
            }

            private static ViewDataInfo GetPropertyValue(object container, string propertyName)
            {
                // This method handles one "segment" of a complex property expression

                // First, we try to evaluate the property based on its indexer
                ViewDataInfo value = GetIndexedPropertyValue(container, propertyName);
                if (value != null)
                {
                    return value;
                }

                // If the indexer didn't return anything useful, continue...

                // If the container is a ViewDataDictionary then treat its Model property
                // as the container instead of the ViewDataDictionary itself.
                ViewDataDictionary vdd = container as ViewDataDictionary;
                if (vdd != null)
                {
                    container = vdd.Model;
                }

                // If the container is null, we're out of options
                if (container == null)
                {
                    return null;
                }

                // Second, we try to use PropertyDescriptors and treat the expression as a property name
                PropertyDescriptor descriptor = TypeDescriptor.GetProperties(container).Find(propertyName, true);
                if (descriptor == null)
                {
                    return null;
                }

                return new ViewDataInfo(() => descriptor.GetValue(container))
                {
                    Container = container,
                    PropertyDescriptor = descriptor
                };
            }

            private struct ExpressionPair
            {
                public readonly string Left;
                public readonly string Right;

                public ExpressionPair(string left, string right)
                {
                    Left = left;
                    Right = right;
                }
            }
        }

        #region IEnumerable Members

        IEnumerator IEnumerable.GetEnumerator()
        {
            return ((IEnumerable)_innerDictionary).GetEnumerator();
        }

        #endregion
    }
}
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616831
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
using System.Diagnostics.CodeAnalysis;

namespace System.Web.Mvc
{
    public abstract class WebViewPage<TModel> : WebViewPage
    {
        private ViewDataDictionary<TModel> _viewData;

        public new AjaxHelper<TModel> Ajax { get; set; }

        public new HtmlHelper<TModel> Html { get; set; }

        public new TModel Model
        {
            get { return ViewData.Model; }
        }

        [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "This is the mechanism by which the ViewPage gets its ViewDataDictionary object.")]
        public new ViewDataDictionary<TModel> ViewData
        {
            get
            {
                if (_viewData == null)
                {
                    SetViewData(new ViewDataDictionary<TModel>());
                }
                return _viewData;
            }
            set { SetViewData(value); }
        }

        public override void InitHelpers()
        {
            base.InitHelpers();

            Ajax = new AjaxHelper<TModel>(ViewContext, this);
            Html = new HtmlHelper<TModel>(ViewContext, this);
        }

        protected override void SetViewData(ViewDataDictionary viewData)
        {
            _viewData = new ViewDataDictionary<TModel>(viewData);

            base.SetViewData(_viewData);
        }
    }
}
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616906
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Высечь наколку:

МСУПо факту они ссылаются на один экземпляр, но в теории могут иметь и разные ссылки - потому, что классы разные WebViewPage и ViewDataDictionary.
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616943
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсущкоДля тех, у кого совсем туго понимаем :) Давай разжую для детей:

1. @Model - это член класса WebViewPage<T>
2. @ViewData.Model - это член класса ViewDataDictionary<TModel>

Так понятнее? Если не понятнее, могу еще раз 10 повторить. Когда, наконец, дойдёт, что это как бы разные вещи, тогда можешь убить себя об стену. По факту они ссылаются на один экземпляр, но в теории могут иметь и разные ссылки - потому, что классы разные WebViewPage и ViewDataDictionary.

я понял только одно. ты в очерденой включил режим "уж на сковородке" и пытаешь правдами и неправдами выкарабкаться из трясины в которой крепко засел.

да, теоретически Model может возвращать какой-то объект. и теоретически там вообще может не обеъкт модели находиться, а вообще что угодно. в реальности же это ссылка на объект ViewData.Model.

но суть в том, что данные для генерации вью в ASP.NET MVC это объект модели + метаданные (которые предоставлены соотсвтствующим провайдером метаданных) + результат валидации + данные контекста шаблона. эти составляющие в совокупности являются моделью, на основе чего работают все стандартные хелперы контролов. именно благодаря такой архитектуре можно очень легко, не напрягаясь написать свои хелперы, генерирующие нужную разметку под требуемые задачи.

короче, торчи в своём болоте тугоумия дальше. вот уж реально упёрся рогом, как в детском саду, уже наверное и забыл, что доказать-то хотел?
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616949
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мсуorjВ 100% случаев те, у кого прямые руки, пользуются не @ViewData (ViewDataDictionary), а @Model (WebViewPage).

ты дибил чтоли? при чём тут прямые руки?

@Model это всего удобное свойство, чтобы не писать @ViewData.Model, а метаданные, над производством которых корпел провайдер метаданных ты куда, на помойку выбросил? а данные контекста шаблона? а контект формы? не пори хни чудик. вроде взрослый человек, с мозгом. но после таких вбросов, в это верится как-то с трудом.


мсуorjВ 100% случаев те, у кого прямые руки, пользуются не @ViewData (ViewDataDictionary), а @Model (WebViewPage).

ещё раз цитату привожу, как апофеоз обсурда пилять. те у кого прямые руки, пользуются рулём! нах ручник, нах тормоз, нах газ, нах бензин, нах вообще машина, одного руля вполне достаточно!

в общем, перестань устраивать цирк шапито тут с зачётными вбросами, достаточно и того, что показывают нонче по новостям
...
Рейтинг: 0 / 0
Несколько форм на одной странице [MVC/Razor]
    #38616950
мсущко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttя понял только одно. ты в очерденой включил режим "уж на сковородке" и пытаешь правдами и неправдами выкарабкаться из трясины в которой крепко засел.

да, теоретически Model может возвращать какой-то объект. и теоретически там вообще может не обеъкт модели находиться, а вообще что угодно. в реальности же это ссылка на объект ViewData.Model.

но суть в том, что данные для генерации вью в ASP.NET MVC это объект модели + метаданные (которые предоставлены соотсвтствующим провайдером метаданных) + результат валидации + данные контекста шаблона. эти составляющие в совокупности являются моделью, на основе чего работают все стандартные хелперы контролов. именно благодаря такой архитектуре можно очень легко, не напрягаясь написать свои хелперы, генерирующие нужную разметку под требуемые задачи.

короче, торчи в своём болоте тугоумия дальше. вот уж реально упёрся рогом, как в детском саду, уже наверное и забыл, что доказать-то хотел?
Ты нихрена нет понял, до сих пор, кстати. Тот факт, что тебе каждое слово нужно разжевывать и класть в рот, мне давно известен. Поэтому могу с уверенностью предложить тебе добрую порцайку яда для макак, которые зомбированы новогодней требухой и погремушками.

Далее. В "реальности" - это экземпляр класса WebViewPage и хоть трава не расти, все телодвижения будут только через него, а не через ViewData. Сейчас ссылки равны, завтра будет что-то другое, послезавтра - третье. Отдельная песочница WebViewPage сделана не просто так для красоты, это есть основная обертка, через которую по феншую нормальные кодеманки пинают объекты между контроллером и вью. А не через "ядро" в виде ViewData, которое и трогать даже не нужно. Есть высокоуровневая WebViewPage, с помощью него можно решить 100% задач. Именно об этом я тебе битый день пытаюсь донести, но ты как всегда щелкаешь челюстью и тупишь как креветка в соусе.
...
Рейтинг: 0 / 0
25 сообщений из 99, страница 3 из 4
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Несколько форм на одной странице [MVC/Razor]
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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