» »

[ASP.NET] problem

[ASP.NET] problem

greentech ::

Sem bolj kot ne začetnik v ASP. NET in imam en problem za katerega bi prosil za malo pomoči.

V gridview imam seznam uporabnikov. Ko izberem določenega uporabnika naj bi se v spodnjem delu strani prikazali podatki o izbranem uporabniku glede na njegov id, ki je shranjen v bazi.

na podobni strani izgleda url naslov po kliku na izbranega uporabnika takole
localhost/admin/user.administration/default.aspx?uporabnikID=1

Zanima me kako izgleda to v kodi,kako dosežemo da se uporabnikID spreminja glede na izbranega uporabnika.

Upam da sem bil vsaj približno dovolj jasen. Ne rabim celotne rešitve samo osnovne napotke kako se lotit zadeve

Zanima me tudi kako narediš da se ti ob določenem ukazu(recimo on selectedIndexchanged)) na isti strani prikažejo podatki, ki jih prej ne vidiš(v mojem primeru podatki v izbranem uporabniku)

Hvala in LP

Microsoft ::

Tole prvo delam trenutno v VS2005. Resis tako, da naredis Gridview, potem pa das zraven se Detailsview. In potem, ko delas datasource za Detailsview, mu mores se dat en select stavek, ane.
No, tu potem izberes, da ti id predstvalja Gridview. Stvar je dosti lahka, ce kej ne bo slo, pa prasi. Glej samo tolko, da ma Gridview ta id (ni ga pa treba prikazat, ane).
In potem mora imeti Gridview se "select" gumb, s katerim izberes posamezno vrstico. Ce gres urejat stolpce Gridview-a, bos videl, da lahko dodas ta gumb.
Ker on, ko v url devas take stvari, ni najboljs varno, ane...

Ta drugo pa ne razimem glih...


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Zgodovina sprememb…

greentech ::

hvala...ful...

....za ostalo ko ne razumeš...bi pač rad da se najprej details view ne vidi ko pa izbereš določenega uporabnika pa postane viden...

Hvala še enkrat

Zgodovina sprememb…

Microsoft ::

Ja ce das recimo pri Gridview za SelectedIndex="-1", potem se ne vidi.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

greentech ::

nisem bil čisto točen..jaz bi rad da se mipodatki o uporabniki prikažejo v textbox-ih da jih lahko spreminjam...formview??

Hvala

PRiMoZ- ::

Ce hoces, da je kontrola skrita do takrat da se stvar ne izbere, potem ji das Visible na false, ko pa se bo zgodil dogodek, selected indexchanged, pa das na true.

Glede forme pa tako, da ko bos dobil ID uporabnika nared query v bazo za podatki ki jih rabis in jih bindaj na texboxe.

Zgodovina sprememb…

  • spremenil: PRiMoZ- ()

Microsoft ::

Detailsview ima to moznost. Vse, kar je treba narediti je to, da ga konvertas v template. Potem si cisto sam zmislis, v cem ti bo prikazalo podatke. Med drugim ti jih lahko tudi v textbox.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

greentech ::

kako pa potem recimo dostopam do posameznega fielda v detailview. Recimo da imam v detailviewu templateitem tetxbox in vrednost ki je zapisana v textboxu bi rad shranil v bazo.
Mislil sem da lahko dostopaš preko imena oz id-ja(TextBox1), vendar ne gre.

Pa še to me zanima če kdo ve kako bi spravil header text v detailsview nad textbox namesto da je desno od njega kot je po defaultu. Gledal sem po nastavitvah pa nisem našel kake opcije kako to spremenit

Hvala in LP

Zgodovina sprememb…

Microsoft ::

Za Gridview gres pod CommandField in dodas Select. Vse to je tam, ko dodajas stolpce.
Isto potem velja za Detailsview, le da tu dodas Edit, Update, Cancel.

Zadnja stvar, ki jo mores narediti, je dodajanje UPDATE TSQL, da bo te spremembe vrglo v bazo. Jst recimo za to uporabljam procedure, priporocam tudi tebi.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Zgodovina sprememb…

greentech ::

Naredil sem template field

asp:TemplateField HeaderText="Pravica dostopa:">
EditItemTemplate>

asp:DropDownList ID="DropDownList2" runat="server" selectedvalue=%# Bind("dostop") %>>/asp:DropDownList>

/EditItemTemplate>

InsertItemTemplate>

asp:DropDownList ID="DropDownList2" runat="server" selectedvalue=%# Bind("dostop") %>>/asp:DropDownList>

/InsertItemTemplate>

ItemTemplate>

asp:DropDownList ID="DropDownList2" runat="server" selectedvalue=%# Bind("dostop") %>>/asp:DropDownList>

/ItemTemplate>

ControlStyle CssClass="tb" />
/asp:TemplateField>

Kot je vidno naj bi se podatki prikazali v dropdownlistbox-u

Koda z katero določim datasource za detailsview

Rs = cmd.ExecuteReader()
DetailsView1.DataSource = Rs
DetailsView1.DataBind()
Rs.Close()

Javi mi naslednji error

'DropDownList2' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value


Če pa recimo spremenim templatefield v textbox vse deluje pravilno

V čem bi lahko bil problem

Hvala in LP

Zgodovina sprememb…

greentech ::

Pri dodajanju v bazo ne vem kako napisat Sql stavek, ki bo zapisal spremembe v bazo.
Ne me narobe razumet..sintakso poznam samo ne vem kako dobiti vrednosti posameznih polj v detailsview in jih potem shranit v bazo.

Torej kako dobit vrednosti posameznih polj v detailsview, da jih lahko potem uporabim v update stavku

Hvala in LP

Zgodovina sprememb…

Microsoft ::

Glede zadnjega, poisci asp:SqlDataSource. V tem mora biti recimo takole:
InsertParameters
asp:Parameter Name="Ime" Type="String" DefaultValue="/"
asp:Parameter Name="Opis" Type="String" DefaultValue="/"
/InsertParameters


Name pa predstavlja ime stolpca.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Zgodovina sprememb…

greentech ::

Hvala..samo kako je pa z ConnectionString..tega ne znam prav nastavit

Connection string imam sharnjem v web.config datoteki

appSettings

add key="MyConnection.ConnectionString" value="server=localhost;userid=root;password=demo;database=test;Connect Timeout=30;pooling=false;"/

/appSettings>

Kako dostopat do njega

Hvala in LP

Zgodovina sprememb…

zigi ::

string dbConnectionString = System.Configuration.ConfigurationSettings.AppSettings["MyConnection.ConnectionString"];

greentech ::

stvar deluje, če jo določim v kodi..kaj pa želim connection string vpisat direkt v sqldatasource

probal sem tako

ConnectionString="%$ConfigurationSettings.AppSettings("MyConnection.ConnectionString") %"

pa mi javi -- The server tag is not well formed.

Hvala in LP

Zgodovina sprememb…

Microsoft ::

asp:SqlDataSource ConnectionString="[%$ ConnectionStrings:MyConnection.ConnectionString %]"

[ in ] zamenjaj s spicastim oklepajom!

Pa si ja tale string MyConnection.ConnectionString naredis krajsi! Recimo, DB_Ena al kaj takega. Drgace dolzina itak nima veze, samo tko, lahko je tudi krajsi string.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

greentech ::

hvala...zdaj mi connectionstring najde..s tem da mi javi

keyword not suported:userid

...pač v conectionstringu mam userid za dostop do baze in zgleda je s tem nekaj narobe...v čem je tu problem???

...jaz do zdaj nisem nikoli deklariral povezave do baze in updatov na ta način, ampak sem vse delal v VB kodi

A je kakšna možnost da narediš update stavek na ta način.-torej da ne piše v sqldatasource ampak ga daš v kodo..in kako v tem primeru dostopat do posameznih polj v detailview

Hvala in LP

Microsoft ::

V web.config das connection string takole:
connectionStrings
add name="ImeMojegaConnStringa"
connectionString="Data Source=localhost\ImeInstanceBaze;
Initial Catalog=ImeTvojeBaze;Integrated Security=True;
Packet Size=4096"
providerName="System.Data.SqlClient"
/connectionStrings


Glede update stavka. Najprej naredis stored proceduro, potem pa njeno ime das v ta SqlDataSource.
asp:SqlDataSource
UpdateCommand="UpdateProcedura" UpdateCommandType="StoredProcedure"



by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Zgodovina sprememb…

greentech ::

podoben problem kot prej..javi mi

keyword not supported:Intergrated Security,isto mi javi za Packet Size in providerName

pa drugače Integrated Security deluje če ima sqlserver uporabniško ime in geslo?

Microsoft ::

Po moje si ti narobe vnesu tole noter. Daj se enkrat dober poglej, da se connectionString zacne z Data in konca pri 4096.

Da se malo drugace napisem:
connectionString="Data Source=localhost\ImeInstanceBaze;Initial Catalog=ImeTvojeBaze;Integrated Security=True;Packet Size=4096"


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Zgodovina sprememb…

greentech ::

hvala...bom probal še enkrat...pa še eno vprašanje imam

..kako dostopam do posameznega zapisa v detailsview, če ga hočem prebrat in potem zapisat v bazo...recimo, da preberem iz baze uporabniškoIme, ga izpišem v texboxu(v detailsview),ga spremenim in hočem zapisat nazaj v bazo...kako dobim vrednost iz tega textboxa?

Hvala in LP

Zgodovina sprememb…

Microsoft ::

Lej, sej sem ze zgoraj nekaj napisal. Prvo, SqlDataSource od tega DetailsView mora imeti update command, potem mora imeti Edit button. In to je to.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

greentech ::

...če je baza test, kakšno je potem ime instance baze...ali je dovolj da napišem samo localhost...ker do zdaj mi ni uspelo vzpostavit povezave z bazo...tako kot da sql server ne bi dovolil povezave,čeprav sem že dostopal do njega

Hvala in LP

Microsoft ::

Control Panel > Administrative Tools > Services > poisces servis SQL Server (imeInstance). Tisto, ker je v oklepaju, je ime instance. Sej, ce si dal SQL 2005 Express gor, bos to mel skor sigurno SQLEXPRESS.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

zigi ::

Lahko pa kr iz Toolbox/Data potegneš SqlDataAdapter na formo in v njem nastaviš connection tak da bo delalo. Pol pa v kodi pogledaš kak connectionString se je ustvaril.

greentech ::

uporabljam mysql 4.0...pod services piše samo ime...

moj connectionstring zdaj zgleda takale

[add key="conn" value="server=localhost;user ID=root;password=demo;database=test;Connect Timeout=30;pooling=false;"/]

z istim conection stringom stringom se mi uspe pobvezat na na mysqlserver na tak način

Connection.Connection_open()

strSQL = "SELECT uporabnikId,Ime,uporabniskoIme,geslo,dostop FROM uporabniki"

cmd.Connection = myConnection
cmd.CommandText = strSQL

Rs = cmd.ExecuteReader()
GridView1.DataSource = Rs
GridView1.DataBind()
Rs.Close()

Connection.Connection_close()

RS je MySqlDataReader,cmd je MySqlCommand

V Connection_open imam nastavljeno pot do connection stringa v web.config datoteki

myConnection = New MySqlConnection(ConfigurationSettings.AppSettings("conn"))

Torej na ta način stvar dela lepo in prav.

V čem bi lahko bil problem da mi ne deluje če deklariram SqlDataSource.Glede na error message zgleda kot da bi se rad povezal na Sql Server 2005. Kako rešit ta problem.

Hvala In LP

Zgodovina sprememb…

Microsoft ::

MySQL je krep.:P Dob si SQL 2005 Express + SQL Server Management Studio Express CTP. Je zastonj pa se p0wna.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

greentech ::

ja ko bi blo od mene odvisno....bi mogoče že...pač v tam kje delam se uporablja to...vseeno bi prosil za nasvet kako to rešit

Hvala in LP

Microsoft ::

Ok, sam jst ti tu ne znam pomagat. MySQL sem mel enkrat za 5 minut gor, pa me je minilo. Ce kdo drug to poznam, pa naj kr pove.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

greentech ::

hvala vseeno..si me že ful pomagal

...a ve mogoče kdo drug rešitev tega problema..ali sqldatasurce sploh podpira mysqlserver?

Hvala in LP

Zgodovina sprememb…

greentech ::

kot sem ravnokar ugotovil sqldatasource podpira samo povezavo z SQL Server..ali obstaja mogoče kak MySqlDataSource, ki za asp.net, ki podpira povezavo z mysqlserver

Hvala in LP

McAjvar ::

se opravicujem za off-topic sporocilo.

MySQL je krep.:P Dob si SQL 2005 Express + SQL Server Management Studio Express CTP. Je zastonj pa se p0wna.
ze mogoce res, da je krep :) ampak bolj me zanima sql2005 express in kar se omenjas. za kaksne uporabnike je zastonj? samo za zasebno rabo ali tudi za poslovne subjekte, ce aplikacijo prodajas, mora koncni uporabnik (ponovno, kako je z razliko posameznik/podjetje) kupiti to ali ni potrebno, etc?

namrec, ravno s stalisca licencne problematike se mi tu zdi najbolj primeren postgresql.
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov

OwcA ::

Za mnogo uporab več kot zadošča tudi ljubki SQLite.
Otroška radovednost - gonilo napredka.

greentech ::

debatirat o tem ka je bolš pa ka ne je tu čisto brez smisla, ker jaz moram delat z tem kar mam

tk da če mi kdo zna pomagat bi blo super...

kot sem že sam ugotovil lahko z sql dataserver dostopaš samo do SQL Server..tk da bo treba to drugač rešit..razen če obstaja asp koponenta za povezavo z Mysqlserver..a ve kdo??

gleda na to da na zgornji način najbrž ne bo šlo, še enkrat ponavljam vprašanje

..kako dostopam do posameznega zapisa v detailsview, če ga hočem prebrat in potem zapisat v bazo...recimo, da preberem iz baze uporabniškoIme, ga izpišem v texboxu(v detailsview),ga spremenim in hočem zapisat nazaj v bazo...kako dobim vrednost iz tega textboxa?

Hvala in LP

Microsoft ::

Jst bi ti predlagal, da poisces malo, ker kolker sem jst gledal, mores naredit custom data provider, da prides do MySQLa.

McAjvar, nisem totalno preprican, samo Express bi naj bil nalsednik MSDE-ja. Skratka, naj bi bil zastonj za komercialno uporabo. Sem klical tudi na MS Slo, kjer so mi tko rekli.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

greentech ::

ka pa če narediš ODBC povezavo do MySqlBaze...potem bi moralo delovat a ne?

Hvala in LP

PRiMoZ- ::

McAyvar: Ja saj zdej že vsak ponuja free bazo, Microsoft je imel prej MSDE, sedaj v 2005 je to Express. Je zastonj, ima pa razne strojne omejitve, velikostne omejitve in omejeno stevilo hkratnih povezav. Prav tako Oracle ponuja svojo bazo free v neki taki oskubljeni verziji itd itd.

greentech: Uporabi MySQL Connector/Net. Dobiš ga tukaj: http://dev.mysql.com/downloads/connecto....

Zgodovina sprememb…

  • spremenil: PRiMoZ- ()

McAjvar ::

tudi jaz se zahvaljujem za info.
"[...] the advance of civilization is nothing
but an exercise in the limiting of privacy."
- Isaac Asimov

Microsoft ::

Tukile je mal napisano o primerjavi med razlicnimi verzijami.


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# težava

Oddelek: Programiranje
233713 (2559) mladec
»

[c#] Vprasanje glede povezave na bazo

Oddelek: Programiranje
162578 (2488) KernelPanic
»

ASP.NET (C#) - Pomoč

Oddelek: Izdelava spletišč
131121 (898) Denisj
»

Baza & c#

Oddelek: Programiranje
214156 (3214) xardas
»

[C#] Query in code

Oddelek: Programiranje
261819 (1563) iggy1

Več podobnih tem