Thread View: alt.pl.comp.lang.csharp
13 messages
13 total messages
Started by Polon
Fri, 04 Nov 2011 08:58
Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Polon
Date: Fri, 04 Nov 2011 08:58
Date: Fri, 04 Nov 2011 08:58
50 lines
2010 bytes
2010 bytes
Witam!
Od dwoch dni staram sie rozwiazac nastepujacy problem.
User chce usunac rekord z bazy danych.
Naturalnie chcialbym aby user musial te czynnosc potwierdzic.
Uzywam WebMatrix i C#.
Oto moja proba (nieudana) rozwiazania problemu:
Najpierw wyswietlam rekordy z bazy i podpinam metode do wyswietlanego
przycisku:
@foreach (var p in samochodyWybrane)
{
<input type="button" value="Click me!" onclick="samochodUsun(@p.id)" />
}
"samochodUsun" to metoda napisana w JS:
function samochodUsun(index)
{
var r=confirm("Czy na pewno usunąć wybrany samochód?");
if (r==true)
{
//chcialbym zastosowac metody Razor C#:
@{
var db = Database.Open("StarterSite");
db.Query("DELETE FROM Samochody WHERE id = @0", index);
//problem w tym, ze nie mam tutaj dostepu do zmiennej "index"
}
}
}
Pytanie1: jak osiagnac moj cel? Moze jest jakies lepsze rozwiazanie od
mojego?
Pytanie2: jak dostac sie do zmiennej "index", to by rozwiazalo moj problem.
dziekuje
Polon
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Wiktor Zychla
Date: Fri, 04 Nov 2011 11:27
Date: Fri, 04 Nov 2011 11:27
33 lines
2271 bytes
2271 bytes
> function samochodUsun(index)
> {
> var r=confirm("Czy na pewno usunąć wybrany samochód?");
>
> if (r==true)
> {
> //chcialbym zastosowac metody Razor C#:
> @{
> var db = Database.Open("StarterSite");
> db.Query("DELETE FROM Samochody WHERE id = @0", index);
> //problem w tym, ze nie mam tutaj dostepu do zmiennej "index"
>
> }
>
> }
> }
>
> Pytanie1: jak osiagnac moj cel? Moze jest jakies lepsze rozwiazanie od
> mojego?
> Pytanie2: jak dostac sie do zmiennej "index", to by rozwiazalo moj
> problem.
słabo znam Razora, ale jesli w kodzie JS stoi kawałek kwerendy SQL to
zdecydowanie NIE jest to dobry sposób programowania. nawet w przykładowych,
ćwiczebnych aplikacjach NIE wolno tak programować!
właściwy sposób to wywołanie jakiejś metody z serwera, która dostanie
mininum parametrów (tu: np. ID rekordu) i na serwerze sprawdzi czy aby
użytkownik na pewno ma uprawnienie do wykonania tej operacji (ta kategoria
danych i ten konkretny rekord), a dopiero potem cokolwiek zrobi na danych.
pozdrawiam
Wiktor Zychla
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Łukasz 'Maly' Ostrowski
Date: Fri, 04 Nov 2011 12:15
Date: Fri, 04 Nov 2011 12:15
21 lines
1838 bytes
1838 bytes
On Fri, 4 Nov 2011 12:27:20 +0100, Wiktor Zychla wrote: > słabo znam Razora, ale jesli w kodzie JS stoi kawałek kwerendy SQL to > zdecydowanie NIE jest to dobry sposób programowania. nawet w przykładowych, > ćwiczebnych aplikacjach NIE wolno tak programować! > > właściwy sposób to wywołanie jakiejś metody z serwera, która dostanie > mininum parametrów (tu: np. ID rekordu) i na serwerze sprawdzi czy aby > użytkownik na pewno ma uprawnienie do wykonania tej operacji (ta kategoria > danych i ten konkretny rekord), a dopiero potem cokolwiek zrobi na danych. Dokładnie tak jak napisał Wiktor. Przy czym przez "wywołanie metody z serwera" rozumie się w normalnych warunkach jedną z opcji: 1. AJAX, 2. Form POST. Do OP: wypadałoby zrozumieć gdzie dokładnie znajduje się gruba linia pomiędzy "server-side" i "client-side" i jakie ma to implikacje. -- Pozdrawiam, Łukasz 'Maly' Ostrowski. http://l3v.eu/
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Polon
Date: Fri, 04 Nov 2011 15:55
Date: Fri, 04 Nov 2011 15:55
11 lines
1399 bytes
1399 bytes
> słabo znam Razora, ale jesli w kodzie JS stoi kawałek kwerendy SQL to > zdecydowanie NIE jest to dobry sposób programowania. nawet w przykładowych, > ćwiczebnych aplikacjach NIE wolno tak programować! Ok, czyli nie mieszac kodu JS z kwerendami. To moze wiecie jak zdefiniowac funkcje C#, ktora bedzie wyswietlac okienko modalne, czyli zrobi to co u mnie robi JS? Polon
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Łukasz 'Maly' Ostrowski
Date: Fri, 04 Nov 2011 17:29
Date: Fri, 04 Nov 2011 17:29
23 lines
1676 bytes
1676 bytes
On Fri, 4 Nov 2011 15:55:55 +0000, Polon wrote:
> Ok, czyli nie mieszac kodu JS z kwerendami.
... bez komentarza.
> To moze wiecie jak zdefiniowac funkcje C#, ktora bedzie wyswietlac okienko
> modalne, czyli zrobi to co u mnie robi JS?
Gdzie będzie wyświetlać to okienko, na serwerze?!
Pomyśl:
1. Gdzie się wykonuje JavaScript?
2. Gdzie się wykonuje C#?
3. Gdzie jest baza danych do której lecą "kwerendy"?
p.s. Brakuje Tobie zrozumienia fundamentalnych elementów
tematu z którym się scierasz. Z reguły, "Tutorial z
bloga Romka z Pipidówki Dolnej" nie jest wystarczający
żeby zacząć coś robić, no chyba że to PHP albo Delphi...
--
Pozdrawiam,
Łukasz 'Maly' Ostrowski. http://l3v.eu/
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Polon
Date: Mon, 07 Nov 2011 12:36
Date: Mon, 07 Nov 2011 12:36
20 lines
1710 bytes
1710 bytes
> p.s. Brakuje Tobie zrozumienia fundamentalnych elementów > tematu z którym się scierasz. Z reguły, "Tutorial z > bloga Romka z Pipidówki Dolnej" nie jest wystarczający > żeby zacząć coś robić, no chyba że to PHP albo Delphi... To jasne, ze brakuje mi fundamentow. Rzeczywiscie ucze sie z tego co znajde w necie i czego dowiem sie na roznych forach. Buduje mozolnie moja wiedze na temat WebMatrix, w koncu bede wiedzial na tyle duzo aby moc cos wartosciowego osiagnac. Jaka jest lepsza metoda nauki? Dziekuje Polon
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Łukasz 'Maly' Ostrowski
Date: Mon, 07 Nov 2011 14:43
Date: Mon, 07 Nov 2011 14:43
8 lines
1208 bytes
1208 bytes
On Mon, 7 Nov 2011 12:36:37 +0000, Polon wrote: > Jaka jest lepsza metoda nauki? Oficjalna dokumentacja i oficjalny tutorial. -- Pozdrawiam, Łukasz 'Maly' Ostrowski. http://l3v.pl/
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Polon
Date: Mon, 07 Nov 2011 15:52
Date: Mon, 07 Nov 2011 15:52
15 lines
1605 bytes
1605 bytes
On Mon, 7 Nov 2011 15:43:57 +0100, Łukasz 'Maly' Ostrowski wrote: > On Mon, 7 Nov 2011 12:36:37 +0000, Polon wrote: >> Jaka jest lepsza metoda nauki? > > Oficjalna dokumentacja i oficjalny tutorial. Jest jakis pelny, oficjalny tutorial do WebMatrix? Ja tylko (az) znalazlem przyklady takie jak Bakery, Starter Site, Photo Gallery. Na tych przykladach robie moja stronke. Polon
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Łukasz 'Maly' Ostrowski
Date: Mon, 07 Nov 2011 17:14
Date: Mon, 07 Nov 2011 17:14
17 lines
1618 bytes
1618 bytes
On Mon, 7 Nov 2011 15:52:04 +0000, Polon wrote: > Jest jakis pelny, oficjalny tutorial do WebMatrix? > > Ja tylko (az) znalazlem przyklady takie jak Bakery, Starter Site, Photo > Gallery. > > Na tych przykladach robie moja stronke. Nie wiem, WebMatrix wygląda jak zabawka dla pokolenia PHP. Jak wstępnie patrzyłem to na asp.net/webmatrix były tutoriale które linkowałem w drugim wątku: http://www.asp.net/webmatrix/tutorials/ -- Pozdrawiam, Łukasz 'Maly' Ostrowski. http://l3v.pl/
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Polon
Date: Thu, 10 Nov 2011 09:55
Date: Thu, 10 Nov 2011 09:55
30 lines
1930 bytes
1930 bytes
> Do OP: wypadałoby zrozumieć gdzie dokładnie znajduje się gruba linia
> pomiędzy "server-side" i "client-side" i jakie ma to implikacje.
Ok, wszystko rozumiem ale nadal nie wiem jak rozwiazac moj problem!
Server- Side na razie zostawiam w spokoju, moja aplikacja nie jest az tak
wymagajaca aby konieczne bylo wykorzystane procedur zapamietanych.
Sprawa jest prosta: user chce usunac rekord z bazy danych -> (po
potwierdzeniu) odpalamy na bazie danych kwerende DELETE.
Potrzebuje takiej metody:
void usunRekord(int rekordId)
{
if (userWokienkuKliknalTak == true)
{
usuniecieRekordu(rekordId);
}
}
Dwa pytania:
1. Jak w WebMatrix zdefiniowac i odpalac metode "usunRekord"?
2. Jak w WebMatrix (lub JS) zrealizowac metode "userWokienkuKliknalTak"?
Pieknie dziekuje
Polon
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Polon
Date: Thu, 10 Nov 2011 10:32
Date: Thu, 10 Nov 2011 10:32
10 lines
1454 bytes
1454 bytes
> 1. Jak w WebMatrix zdefiniowac i odpalac metode "usunRekord"? -> to juz wiem. Moge uzyc helpers. Pozostaje pytanie numer dwa, ktore mozna okreslic jako: "jak odpalic w webmatrix okienko modalne z przyciskami yes/ no." Polon
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Łukasz 'Maly' Ostrowski
Date: Thu, 10 Nov 2011 11:38
Date: Thu, 10 Nov 2011 11:38
74 lines
3378 bytes
3378 bytes
On Thu, 10 Nov 2011 09:55:49 +0000, Polon wrote:
> Ok, wszystko rozumiem ale nadal nie wiem jak rozwiazac moj problem!
Nie sądze żebyś rozumiał.
> Server- Side na razie zostawiam w spokoju, moja aplikacja nie jest az tak
> wymagajaca aby konieczne bylo wykorzystane procedur zapamietanych.
ASP.NET działa server-side... JavaScript jest client-side.
Stored-procedures nie mają nic wspólnego z server-side/client-side.
Usuwanie możesz zaimplementować na jeden z dwóch sposobów:
1. Przekierowanie na "stronę"(akcję) która usuwa rekord o zadanym id
i powrót do grida. Tzn. W cudzysłowiu "tworzysz link do strony
usuwającej".
2. AJAXowy request do servera o usunięcie rekordu i odświeżenie widoku.
Jaśniej nie umiem tego przedstawić. ASP.NET NIE WYKONUJE się w
przeglądarce. Zrozum, że dostęp do bazy ma SERWER, NIE PRZEGLĄDARKA.
Z pierwszego posta:
>function samochodUsun(index)
>{
> var r=confirm("Czy na pewno usunąć wybrany samochód?");
>
> if (r==true)
> {
> //chcialbym zastosowac metody Razor C#:
> @{
> var db = Database.Open("StarterSite");
> db.Query("DELETE FROM Samochody WHERE id = @0", index);
> //problem w tym, ze nie mam tutaj dostepu do zmiennej "index"
>
> }
>
> }
>}
Proszę Ciebie, zrozum. Twój blok @{} uruchomiłby się podczas
generacji strony, nie podczas kliknięcia, to są zupełnie dwa różne
konteksty egzekucji(między innymi dlatego 'index' jest niewidoczne).
Efektywnie do przeglądarki trafiłoby(gdyby się skomplilowało,
oczywiście):
>function samochodUsun(index)
>{
> var r=confirm("Czy na pewno usunąć wybrany samochód?");
>
> if (r==true)
> {
> }
>}
Czyli generalnie nie to co byś chciał.
> -> to juz wiem. Moge uzyc helpers.
Nie, apparently, nie masz zielonego pojęcia do czego służa helpers.
/Służą do generowania HMTLa, nie do wykonywania akcji, per-se/
Szczerze, RTFM:
http://www.asp.net/webmatrix/tutorials/5-working-with-data
Skocz do "Deleting Data in a Database", a najlepiej przeczytaj
WSZYSTKO i tyle razy ponawiawiaj ponowne czytanie aż zrozumiesz.
/Ewentualnie zawsze pozostaje PHP, do tego nie potrzebujesz
zrozumienia ani HTTP, ani XHTMLa, ani CSSa, ani JavaScript,
ani nawet programowania i baz danych./ ;-).
--
Pozdrawiam,
Łukasz 'Maly' Ostrowski. http://l3v.pl/
Re: Webmatrix, c#, potwierdzenie usuniecia elementu na www
Author: Polon
Date: Thu, 10 Nov 2011 12:40
Date: Thu, 10 Nov 2011 12:40
5 lines
1078 bytes
1078 bytes
Dziekuje za odpowiedzi. Wiem coraz wiecej, moj drugi problem rozwiaze za pomoca AJAXA. Polon
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads