Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
mateusz.k
Dołączył: 09 Wrz 2009
Posty: 31
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 19:23, 20 Cze 2011 Temat postu: Poprawa laborek z zaawansowanego programowania internetowego |
|
|
Mam takie pytanie czy ktoś może zna treści pytań jakie były na ostatnim kolokwium??To wrzucajcie na forum...Spotkałem dzisiaj Bartczuka to powiedział, że da te same pytania... Ja miałem takie: Dla prostego modelu zawierającego pola (IMIĘ, NAZWISKO.DATA_URODZENIA)pokazać w jaki sposób w ASP.NET MVC realizuje się uwierzytelnianie uzytkowników( zakładamy, że strona zawierająca listę osób ma być dostępna dla wszystkich użytkowników(również nie zalogowanych)dodawanie dla wszystkich użytkowników zalogowanych, a edycja i usuwanie danych ma być dostępne tylko dla użytkowników z grupy administratorów. Jak ktoś by to rozwiązał to niech wrzuci na maila naszego. Pozdrawiam...
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|
 |
Tomek.Korgól
Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów
Pomógł: 2 razy Ostrzeżeń: 0/5
|
Wysłany: Pon 23:22, 20 Cze 2011 Temat postu: |
|
|
Dla prostego modelu zawierającego pola (IMIĘ, NAZWISKO.DATA_URODZENIA)pokazać w jaki sposób w ASP.NET MVC realizuje się widoki częściowe.
Generalnie chodziło o wyświetlanie danych czy coś takiego. Jak się mylę niech mnie ktoś poprawi.
Program na poczcie.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Tomek.Korgól
Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów
Pomógł: 2 razy Ostrzeżeń: 0/5
|
Wysłany: Wto 0:18, 21 Cze 2011 Temat postu: Re: Poprawa laborek z zaawansowanego programowania interneto |
|
|
mateusz.k napisał: |
Dla prostego modelu zawierającego pola (IMIĘ, NAZWISKO.DATA_URODZENIA)pokazać w jaki sposób w ASP.NET MVC realizuje się uwierzytelnianie uzytkowników( zakładamy, że strona zawierająca listę osób ma być dostępna dla wszystkich użytkowników(również nie zalogowanych)dodawanie dla wszystkich użytkowników zalogowanych, a edycja i usuwanie danych ma być dostępne tylko dla użytkowników z grupy administratorów. |
Jutro postaram się to zrobić gdyż to prawie to samo co to pierwsze tylko trzeba troche dopisać.
Miał ktoś jeszcze coś innego???
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Peter
Administrator
Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów
Pomógł: 2 razy Ostrzeżeń: 0/5 Skąd: Exe
|
Wysłany: Wto 12:01, 21 Cze 2011 Temat postu: |
|
|
Tak dokładnie to brzmiało, mam foto tego xD
Cytat: |
Dla prostego modelu zawierającego pola (imię, nazwisko, data urodzenia, login, hasło) pokazać w jaki sposób w ASP.MVC realizuję się widoki częściowe(widokiem częściowym ma być formularz dodawania danych) |
Post został pochwalony 0 razy
Ostatnio zmieniony przez Peter dnia Wto 12:03, 21 Cze 2011, w całości zmieniany 2 razy
|
|
Powrót do góry |
|
 |
pieczara
Dołączył: 17 Paź 2008
Posty: 278
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: z groty Nestle
|
Wysłany: Wto 13:29, 21 Cze 2011 Temat postu: |
|
|
Dla prostego modelu zawierającego pola (imię, nazwisko, data urodzenia, login, hasło) napisać walidatory tak by pola login i haslo byly wymagane (chyba te, nie ma różnicy), rok urodzenia nie niższy niż 1990 i hasło min 7 znaków
Coś takiego miałem w niedzielę na poprawce. Zrobiłem całe zadanie, zobaczę czy wziąłem ze sobą ten projekt bo nie pamietam.
Post został pochwalony 0 razy
Ostatnio zmieniony przez pieczara dnia Wto 13:30, 21 Cze 2011, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
 |
marek
Dołączył: 02 Lis 2009
Posty: 7
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: jestem
|
Wysłany: Wto 17:59, 21 Cze 2011 Temat postu: |
|
|
Na pytanie co jest wymagane na zaliczenie na 3 odpowiedź dr Łukasza Bartczuka:
Cytat: |
Witam,
wymagam minimalnej znajomości wszystkich zagadnień, które są opisane w instrukcjach oraz które były prezentowane na wykładach. Tzn. musi Pan przynajmniej wiedzieć, w którym przysłowiowym kościele dzwoni.
Pozdrawiam
Łukasz Bartczuk
|
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Peter
Administrator
Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów
Pomógł: 2 razy Ostrzeżeń: 0/5 Skąd: Exe
|
Wysłany: Czw 19:09, 23 Cze 2011 Temat postu: |
|
|
Tomek, Ale ty zrobiłeś normalne widoki a nie częściowe.... chyba że się mylę
1. Widoki częściowe są plikami asCx
2. wywoływanie podobno przez: <Html>
Więc nie wiem jak to jest z tym teraz :/ Ktoś podpowie?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Dawid K
Dołączył: 14 Lut 2009
Posty: 11
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Bolesław k/Olkusza
|
Wysłany: Czw 21:20, 23 Cze 2011 Temat postu: |
|
|
Zrobilem taka aplikacje „AllInOne”, w której jest autoryzacja, widoki zwykle, widoki częściowe, szablony.
Widok częściowy jest dla tworzenia nowej osoby, szablon jest dla szczegółów wyświetlania osoby, reszta widoków jest „zwykłych” dla indexu i kasowania.
Autoryzacja dotyczy 3 kont
test - bez roli
test2 - edytor
test3 - admin
hasło do każdego to: qwerty
test może tylko przeglądać wszystkie osoby, test2 edytować i podglądać szczegóły, test3 może wszystko. Bez logowania można oglądać tylko 1 stronę.
Link: [link widoczny dla zalogowanych]
mam nadzieję, że nie będzie żadnych innych cudów, niż to, co było (widoki, widoki częściowe, szablony, autoryzacja)
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
pawmar
Dołączył: 27 Lut 2010
Posty: 50
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Czw 22:48, 23 Cze 2011 Temat postu: |
|
|
Było jeszcze takie zadanie:
Cytat: |
Dla prostego modelu zawierającego pola (imię, nazwisko, data urodzenia, login, hasło) pokazać w jaki sposób w ASP.NET MVC realizuje się walidację danych: pola login i hasło są wymagane, hasło musi mieć więcej niż 7 znaków oraz data urodzenia nie może być mniejsza niż 1990. |
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Tomek.Korgól
Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów
Pomógł: 2 razy Ostrzeżeń: 0/5
|
Wysłany: Pią 0:07, 24 Cze 2011 Temat postu: |
|
|
Wiem, że zle zrobiłem bo ja korzystałem ze słownika ViewData(czy jakoś tak) a dopiero pózniej doczytałem i zorientowałem się że można to robić bez tego i jest znacznie latwiej. Zadań nie wrzucam bo widzę że ktoś to już zrobił.
A co do pytań to jeszcze właśnie walidacja była )
Post został pochwalony 0 razy
Ostatnio zmieniony przez Tomek.Korgól dnia Pią 0:09, 24 Cze 2011, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
 |
Peter
Administrator
Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów
Pomógł: 2 razy Ostrzeżeń: 0/5 Skąd: Exe
|
Wysłany: Pią 7:40, 24 Cze 2011 Temat postu: |
|
|
Niestety ale robiłeś to na starszej wersji Visuala a na pewno SQL'a
[link widoczny dla zalogowanych]
Błąd przy otwieraniu bazy ;-(
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Dawid K
Dołączył: 14 Lut 2009
Posty: 11
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Bolesław k/Olkusza
|
Wysłany: Pią 8:41, 24 Cze 2011 Temat postu: |
|
|
@ up. No właśnie nie wiem, co się z tą bazą dzieje (myślałem, że to tylko pojedynczy przypadek), że nie jest przenośna, ale jest na to sposób:
Kasujesz całą bazę
Kasujesz plik LINQa (AutoryzacjaOsob.dbml)
Robisz nową bazę, nową tabelę o nazwie „OsobaAutoryzacja” jej pola takie:
id int
Imie varchar(50)
Nazwisko varchar(50)
Login varchar(50)
Haslo varchar(50)
DataUrodzenia date
Wszędzie odznaczone AllowNulls
Następnie robisz plik LINQa o nazwie AutoryzacjaOsob.dbml i wrzucasz tą tabelę
Następnie wchodzisz w OsobaController i komentujesz wszystkie [Autorze] (jest ich 5). Nie wiem czemu, ale jak wysyłam ten projekt do kogoś to zarówno autoryzację, jak i bazę szlag trafia.
Co do walidacji to jak coś napiszę, to wrzucę…
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//EDIT:
Więc tak: zrobiłem walidatory, ale nie będę wrzucać jako projekt, bo wiadomo – błędy z bazą itd. Robiłem na tym projekcie, który umieściłem wcześniej (ten autoryzacja itp).
Kod OsobaModel powinien wyglądać tak:
Kod: |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace autoryzacjaitp.Models
{
[WalidatorRok("DataUrodzenia", ErrorMessage = "Rok nie moze byc mniejszy, niz 1990")]
public class OsobaModel
{
public int ID { get; set; }
public string Imie { get; set; }
public string Nazwisko { get; set; }
[Required]
public string Login { get; set; }
[Required]
[StringLength(10, ErrorMessage = "za duzo znakow - max to 10")]
[WalidatorDlugosc(7, ErrorMessage = "za malo znakow - min to 7")]
public string Haslo { get; set; }
public DateTime? DataUrodzenia { get; set; }
}
} |
Dodajemy dwie nowe klasy do katalogu Models:
WalidatorDlugoscAttribute.cs
Oraz
WalidatorRokAttribute.cs
Ich budowa jest następująca:
WalidatorDlugoscAttribute.cs
Kod: |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace autoryzacjaitp.Models
{
public class WalidatorDlugosc : ValidationAttribute
{
int _dlugosc;
public WalidatorDlugosc(int dlugosc)
{
_dlugosc = dlugosc;
}
public override bool IsValid(object value)
{
if (value == null)
return true;
if ((value as string).Trim().Length >= _dlugosc)
return true;
else
return false;
}
}
} |
WalidatorRokAttribute:
Kod: |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
namespace autoryzacjaitp.Models
{
public class WalidatorRokAttribute : ValidationAttribute
{
public string _DataUrodzenia { get; private set; }
public WalidatorRokAttribute(string DataUrodzenia)
{
_DataUrodzenia = DataUrodzenia;
}
public override bool IsValid(object value)
{
PropertyDescriptorCollection wlasciwosci = TypeDescriptor.GetProperties(value);
DateTime? dataUrodzenia = (DateTime?)(wlasciwosci.Find(_DataUrodzenia, true).GetValue(value));
int rok = dataUrodzenia.Value.Year;
if (rok >= 1990)
{
return true;
}
else
return false;
}
}
} |
Ponadto w OsobaController należy zmienić wartość przy Create (tym drugim Create, przed którym stoi [HttpPost]) na:
Kod: |
[HttpPost]
public ActionResult Create(OsobaModel NewOsoba)
{
try
{
if (ModelState.IsValid)
{
_osoba.StworzOsobe(NewOsoba);
return RedirectToAction("Index");
}
else
{
return View();
}
}
catch
{
return View();
}
} |
I jeszcze jedna drobna zmiana – ponieważ wcześniej miałem jako typ daty urodzenia DateTime, a teraz musiałem zmienić na DateTime? (wymagane do walidacji – bez tego darł mordę, że coś mu w klasie do walidacji roku nie pasuje…) trzeba w klasie OsobaUslugi zmienić w obu przypadkach
Kod: |
OsobaEdytuj.DataUrodzenia = EdytujOsoba.DataUrodzenia;
Na
OsobaEdytuj.DataUrodzenia = EdytujOsoba.DataUrodzenia.Value;
oraz w metodzie StworzOsobe
DataUrodzenia = NowaOsoba.DataUrodzenia
na
DataUrodzenia = NowaOsoba.DataUrodzenia.Value |
I to chyba tyle – hasło i login są wymagane, rok min to 1990, minimalna długość hasła to 7 (max to 10 – taki bajer dorzuciłem, żeby było coś z walidacji wbudowanej).
Post został pochwalony 0 razy
Ostatnio zmieniony przez Dawid K dnia Pią 12:34, 24 Cze 2011, w całości zmieniany 3 razy
|
|
Powrót do góry |
|
 |
GadQ
Dołączył: 30 Gru 2009
Posty: 47
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Sob 14:11, 25 Cze 2011 Temat postu: |
|
|
NA KTÓRĄ JEST POPRAWKA W ŚRODĘ?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Mateusz
Dołączył: 24 Lut 2009
Posty: 29
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 15:24, 28 Cze 2011 Temat postu: |
|
|
Poprawa w środę o 10:00.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
damian.zaskorski
Dołączył: 15 Paź 2008
Posty: 122
Przeczytał: 0 tematów
Pomógł: 1 raz Ostrzeżeń: 0/5
|
Wysłany: Pią 23:07, 08 Lip 2011 Temat postu: |
|
|
Dał Wam w końcu zaliczenie z tego?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|