powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
25 сообщений из 76, страница 3 из 4
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831287
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSVIT2708, кстати, посмотри еще ресурс http://www.techdays.ru/

Буду учится дальше.

Спасибо.
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831288
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

Ну, тогда рассказывай подробнее. И не бойся, что загнобят. Хотя, не сомневаюсь, что попытаются.
ПС. А сделать что-то самому - это хорошо.
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831298
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708, кстати говоря, если проблема с мотивацией - покупай бумажные книжки (если проблема с инглишем, не брезгуй - бери на русском)
Посмотрел те что я перечислил стоят примерно 1 кр (килорубль = 1000 рублей), не зря же покупал - придется читать, да еще и пробовать )
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831327
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

Так что ж тут анализировать, Использовал стандартный Membership

Если хотите то вот пример есть страница с документами
слева список типов документов, справа название документов, ну и кнопки открыть, печать, скачать
Список названий документов выводится в GridView при нажатии кнопки на гриде проверяется есть ли у пользователя доступ если нет то идет пере адресация на страницу доступ закрыт, если все в порядке то открывается страница контента
Как говорил раньше использовал Linq

Код: 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.
protected void GridView1_SelectedIndexChanged(object sender, CommandEventArgs e)
    {
        try
        {
            GridView gv = GridView1;
            int Id = -1;
            if (int.TryParse(e.CommandArgument.ToString(), out Id))
            {
                switch (e.CommandName)
                {
                    case "O":
                        var fl = from fn in ldc.DocumentLists where fn.id == Convert.ToInt32(gv.Rows[Id].Cells[0].Text) select fn;
                        foreach (DocumentList dc in fl)
                        {
                            if (dc.access == "public")
                            { Response.Redirect("~/DocumentContent.aspx?id=" + gv.Rows[Id].Cells[0].Text);}
                            else
                            {
                                if (!string.IsNullOrEmpty(User.Identity.Name))
                                {
                                    if (User.IsInRole(dc.access))
                                    { Response.Redirect("~/DocumentContent.aspx?id=" + gv.Rows[Id].Cells[0].Text); }
                                    else {Response.Redirect("~/Access.aspx"); }
                                }
                            }
                        }
                        break;
                    case "P":
                        if (!string.IsNullOrEmpty(User.Identity.Name))
                        {
                            if (User.IsInRole("print"))
                            { Response.Redirect("~/DocumentPrint.aspx?id=" + gv.Rows[Id].Cells[0].Text); }
                            else { Response.Redirect("~/Access.aspx"); }
                        }
                        else { Response.Redirect("~/Access.aspx"); }
                        break;
                    case "L":
                        if (User.IsInRole("download"))
                        {
                            var fld = from fnd in ldc.DocumentLists where fnd.id == Convert.ToInt32(gv.Rows[Id].Cells[0].Text) select fnd;
                            foreach (DocumentList dcd in fld)
                            {
                                if (!string.IsNullOrEmpty(dcd.file))
                                { Response.Redirect("~/Files/Documents/" + dcd.file); }
                            }
                        }
                        else { Response.Redirect("~/Access.aspx"); }
                        break;
                }
            }
        }
        catch { Response.Redirect("~/Error.aspx"); }
    }


Критикам это всего лишь код кнопок "открыть", "печать", "загрузить"

Также есть код фильтрации по типам, при открытии документа если у него есть додатки также формируется список додатков и т д
Модератор: Взял исходник в SRC, что и Вам рекомендую
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831335
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSVIT2708, кстати говоря, если проблема с мотивацией - покупай бумажные книжки (если проблема с инглишем, не брезгуй - бери на русском)
Посмотрел те что я перечислил стоят примерно 1 кр (килорубль = 1000 рублей), не зря же покупал - придется читать, да еще и пробовать )

Да спасибо у меня книг по ASP.NET есть достаточно, английский я знаю что бы читать литературу, я ж писал что только в этом году начал его изучать и вот тут такой проект, я не хотел от него отказываться ведь отказавшись мог вообще дальше ничего не получить.
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831344
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жестокий скрин :) И вот этим сцуко гавном ты хотел автоматизировать банк??? :) Пацталом

P.S. И как только язык повернулся этот мусор назвать "CMS"?
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831359
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSНо при этом если я ничерта не понимаю - посмотрю в гугл, спрошу знакомых ребят или на том же форуме, и дико благодарен если мне скажут - "чел, зачем тебе это, есть же то-то, ты сэкономишь кучу времени" и т.п.
...
Если тебя опытный чел наставляет на путь истинный - слушай, и ты прокачаешься :)
...
Велосипед выдумывать - дороже
...
1.5 года назад зашла тема апгрейдить продукт, но вышло что только на ядро потратить придется месяц
...
Рекомендую литературу: эспозито для asp.net, рихтера для clr (via c#), макконела - совершенный код, gof - тупо паттерны-решения, фаулера - рефакторинг, блог гарри скотта, msdn magazine

Золотые слова, SanSYS. Вот прям рукопись составляй да под рамочку на рабочем месте. Всё четко. )
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831360
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЖестокий скрин :) И вот этим сцуко гавном ты хотел автоматизировать банк??? :) Пацталом

P.S. И как только язык повернулся этот мусор назвать "CMS"?

Я его урезал и оставил только чать так как и кода привел только часть что бы побольше раскритиковали
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831367
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708, ой зря ты код выложил...

что за ерунда?
Код: c#
1.
2.
3.
int Id = -1;
if (int.TryParse(e.CommandArgument.ToString(), out Id))
{



А если куча условий - ищи свищи где скобочка закрывается?
Раз на то пошло написал бы if ( !, да и return
+ декопозиция отсутствует
Кнопочки можно было просто ссылками сделать и не выводить, если нет прав
В DocumentContent.aspx не забыл добавить проверку на доступ?
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831370
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708Я его урезал и оставил только чать так как и кода привел только часть что бы побольше раскритиковали
Пыл сбавил, молодец. Даю бесплатный совет - если хочешь адекватной критики:
1. Сделай полностью рабочее решение , а не демонстрируй ошметки гавнокода с непонятными скринами
2. Опубликуй на codeplex.com
3. Запостай тут тему со ссылкой на решение
4. Народ скачает, запустит, посмотрит, потыкается в GUI, пощелкает кнопочками, пощупает код
5. После этого ты получишь хороший скоуп информации (не только на форуме, но и на самом кодплексе)
6. Осмыслишь, переваришь, поправишь
7. Через несколько итераций в виде стабильных релизов и по прошествию времени, если взлетит твоя софтина, ты сможешь выпустить платную версию продукта
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831375
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Хорошо сделаю
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831384
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSVIT2708, ой зря ты код выложил...

что за ерунда?
Код: c#
1.
2.
3.
int Id = -1;
if (int.TryParse(e.CommandArgument.ToString(), out Id))
{



А если куча условий - ищи свищи где скобочка закрывается?
Раз на то пошло написал бы if ( !, да и return
+ декопозиция отсутствует
Кнопочки можно было просто ссылками сделать и не выводить, если нет прав
В DocumentContent.aspx не забыл добавить проверку на доступ?

DocumentContent.aspx - нет не забыл

Почему ерунда я такой код видел, в одном проекте(социальная сеть) вот и пользуюсь им.
То что я его сейчас запустил это еще не значит что я о нем забыл, я буду его улучшать по мере возможностей
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831394
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708, отлично!

Мои рекомендации:

1. Если код функции не помещается на страницу, задумайся - может там что-то лишнее?

2. Избегай больших блоков if, в будущем будет сложно поддерживать
Вот ты писал что linq вроде как юзаешь, соответственно наверн и лямбда выражения, тогда совет от Рихтера - если выражение занимает более 2-3 строк кода, то все - в отдельный метод, особенно в присутствии рефлекции

3. Все названия переменных должны быть предельно понятными

На самом деле об этом в сети есть наверн целые трактаты, но не могу ничего конкретного порекомендовать у каждого свой бест практикс :(
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831397
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А код, конечно, страшный. За такой код нужно руки сразу отрывать.

1. За вот такое gv.Rows[Id].Cells[0].Text нужно расстреливать.
2. Дублирование кода
3. В цикле по fl идет проверка ролей - то есть по факту куча подзапросов. Если нужна инфа по ролям в разрезе набора данных, джойни сразу к основному набору таблицу ролей
4. Какая-то безумная логика с редиректами

Жуть.
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831401
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, забыл, на счет выноса помоев в отдельный метод - полностью согласен с SanSYS. На счет понятности переменных тоже +1.
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831405
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSVIT2708, отлично!

Мои рекомендации:

1. Если код функции не помещается на страницу, задумайся - может там что-то лишнее?

2. Избегай больших блоков if, в будущем будет сложно поддерживать
Вот ты писал что linq вроде как юзаешь, соответственно наверн и лямбда выражения, тогда совет от Рихтера - если выражение занимает более 2-3 строк кода, то все - в отдельный метод, особенно в присутствии рефлекции

3. Все названия переменных должны быть предельно понятными

На самом деле об этом в сети есть наверн целые трактаты, но не могу ничего конкретного порекомендовать у каждого свой бест практикс :(

Я доработаю!!!!
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831425
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, спасибо Сержу, мне было влом вчитываться в код

case "O": - вместо о пиши нормально, Open или что там должно быть
цикл мягко говоря смущает...

Ты работаешь или студент?
Тебе нужна командная работа с опытными ребятами вне зависимости от ЗП, чисто понабраться опыта
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831428
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

Судя по критике даже этот код не должен работать но чудо он работает
Про Linq я еще почитаю и переделаю.
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831449
Фотография mmnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,
Код: c#
1.
 Convert.ToInt32(gv.Rows[Id].Cells[0].Text)


Такой метод получения каких либо данных с грида может привести к коллапсу, шанса безболезненно рефакторить у вас уже не будет.
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831459
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSО, спасибо Сержу, мне было влом вчитываться в код

case "O": - вместо о пиши нормально, Open или что там должно быть
цикл мягко говоря смущает...

Ты работаешь или студент?
Тебе нужна командная работа с опытными ребятами вне зависимости от ЗП, чисто понабраться опыта

работаю!!!
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831466
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

На сегодня уже хватит
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831477
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708Судя по критике даже этот код не должен работать но чудо он работаетДа и говно плавает, но оно не лодка :)

Тут и не говорили что он не работает, но написан неверно, как говориться - не по феншую :)
Самое главное, чтобы подобный код не стал у тебя привычкой

Да, конечно хочется обратиться к чему-то по индексу (на них обратил внимание МСУ), но блин это точно в корне неправильно, это неверноятно неправильно. Хотелось было подчеркнуть какое именно обращение неверно, но не могу в силу того, что подобный синтаксис в принципе неверный: gv.Rows[Id].Cells[0].Text

Кстати, почему не передаешь в CommandArgs сам ID???

VIT2708Про Linq я еще почитаю и переделаю.
Linq - совсем отдельная и большая тема, зачастую его начинают юзать неправильно и приложение начинает откровенно тупить или забивать память

-----------

Ну как ты мог такое написать?
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831933
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mmnickVIT2708,
Код: c#
1.
 Convert.ToInt32(gv.Rows[Id].Cells[0].Text)


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

Ладно я переделаю так

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
protected void GridView1_SelectedIndexChanged(object sender, GridViewCommandEventArgs e)
    {
        try
        {
            if (e.CommandName == "Print")
            {
                int index = Convert.ToInt32(e.CommandArgument);
                GridViewRow row = GridView1.Rows[index];
                Response.Redirect(string.Format("PrintDocument.aspx?id={0}", Server.HtmlDecode(row.Cells[0].Text));

            }
//......
        }
        catch { }
       
    }



Хоть этот вариант пойдет?
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831940
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты так ничего и не понял, о чем тебе по-пунктно писали?
...
Рейтинг: 0 / 0
Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
    #37831948
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

завтра все посты перечитаю на свежую голову и постараюсь понять. А на сегодня уже точно все.
...
Рейтинг: 0 / 0
25 сообщений из 76, страница 3 из 4
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Написал CMS систему но есть проблемы в эксплуатации (Часть 2)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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