Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Dropdownlist.SelectecValue text till int

Postades av 2010-07-06 12:03:05 - Anders Persson, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 1255 personer

Hej

Jag använder följande kod för hämta data som användaren matat in i webbformuläret och sedan sparar till databasen.

protected void btnSave_Click(object sender, EventArgs e)
{
Data.Sequel.Userprofile userProfile = new Data.Sequel.Userprofile();

userProfile.Username = txtUsername.Text;
userProfile.Firstname = txtFirstname.Text;
userProfile.Lastname = txtLastname.Text;
userProfile.Password = txtPassword.Text;
userProfile.Phone1 = txtPhone1.Text;
userProfile.Phone2 = txtPhone2.Text;
userProfile.Phone3 = txtPhone3.Text;
userProfile.DepartmentId = int.Parse(ddlDepartment.SelectedValue);
userProfile.LocationId = int.Parse(ddlLocation.SelectedValue);

userprofileRepository.Add(userProfile);
userprofileRepository.Save();
}

Min fråga är:
Måste man använda int.Parse(ddlDepartment.SelectecValue)
userProfile.LocationId är en Int i databasen och SelectedValue är en string.
Förstår att den inte tar emot detta men det måste finnas ett snyggare sätt att hantera detta på?
Man kan ju köra en TryParse och tilldela en inte värdet om den lyckas, men jag tycker det borde finnas alternativa sätt att lösa detta på.

Någon som har en idé?


Svara

Sv: Dropdownlist.SelectecValue text till int

Postades av 2010-07-06 13:02:46 - Jonas Sjöblom

Tror tyvärr inte du kommer runt det.


Svara

Sv:Dropdownlist.SelectecValue text till int

Postades av 2010-07-06 19:35:51 - Niklas Jansson

Man kan ju lösa det utan att behöva göra det när man sätter ihop entiteten på andra sätt.

Property på själva formuläret, som gör omvandlingen:

...
userProfile.Phone3 = frm.Phone3;
userProfile.DepartmentId = frm.DepartmentID;
...

Detta flyttar ju bara ut själva hanteringen i separata funktioner. I samma veva kan man ju också kanske vilja få själva entiteten att komma bort från sparandet helt och hållet:

protected void btnSave_Click(object sender, EventArgs e)
{
Data.Sequel.Userprofile userProfile = frm.ToUserprofile();
userprofileRepository.Add(userProfile);
userprofileRepository.Save();
}

Sen kan man ju också binda kontrollerna till objekt, eller göra wrappers runt kontrollerna som bara kan leverera vissa saker etc. Personligen tycker jag att det som är snyggast och lättast att förstå är något i stil med:

protected void btnSave_Click(object sender, EventArgs e)
{
if(everythingOk())
Data.Sequel.Userprofile userProfile = frm.ToUserprofile();
userprofileRepository.Add(userProfile);
userprofileRepository.Save();
else
DisplayError();
}

EverythingOK gör själva testet, medan ToUserprofile antar att allt är ok, och behöver därmed inte hantera några skumma fall, utan konverterar rakt av.

Inte särskilt defensive, men koden blir rätt slimmad.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 614
27 953
271 709
561
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies