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


ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-03-25 03:29:34 - Ted Ekeroth, i forum asp.net generellt, Tråden har 9 Kommentarer och lästs av 821 personer

Hey!

Jag behöver lite starthjälp med ASP.NET, fattar inte riktigt hur det hänger ihop med websidorna... jag har skrivit i PHP i flera år. JAVA, C# och annat är jag också väl förtrogen med men jag fattar inte ASP.NET - ska man skriva HTML/ASP som man vanligtvis scriptar eller ska man skriva allt i C# - "objectorienterat"?

Verkar rörigt tycker jag. Det enda jag ser när jag söker på nätet är de vanliga ASP script-taggarna o helt plötsligt kommer lite C#-kod. Jag kan få upp en sida med olika formulär enligt nedan, men sedan vet jag inte hur jag skickar vidare data via POST/GET och sedan hur och var jag läser in dem.

Testade lite att skriva sådant i "code behind" men fick det inte att fungera.

Tacksam ifall någon kan skriva ett kort exempel, säg... En ruta som man fyller i, klickar på "Submit" och att sedan en Label på "samma sida" uppdateras med det nyss inskrivna värdet.

Tacksam för lite hjälp!

Hälsningar,


Svara

Sv: ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-03-25 05:10:32 - Benni Svensson

Hej Ted, jag dristar mig att svara, detta trots att det är väldigt nytt för mig.
Många saker är mycket lättare, andra lite klurigare och det tar sin tid innan man får klämm på det.

När du öppnar en ny webbplats, och lägger till en webbform, så om du inte har för bråttom, så ser du nertill i inläggningsformuläret, att du kan välja om du vill ha sidan med codebehind, jag föredrar detta.
Det innebär att den ena filen blir då default.aspx.
Här ritar du upp (du behöver inte skriva någon html-kod här, de kontroller som du vill ha.
I default.aspx.cs, där lägger du all kod.

Ta nu och rita upp en label, label1, en textruta, textbox1 och en knapp, button1 i default.aspx.
Placera de som du vill.
I soution Explorer, så ser du den andra filen, Default.aspx.se, dubbelklicka på den.
Du kommer då att se
<code>
protected void Page_Load(object sender, EventArgs e)
{

}
</code>
skriv in
<code>
if (IsPostBack)
{

}
</code>
Detta betyder helt enkelt, om du har tryckt på knappen så skall det köras det som är innanför
måsvingarna, annars inte.

I detta fallet så föredrar jag dock att dubbelklicka på knappen
Skriv in
<code>
Label1.txt=Textbox1.txt;
</code>
..och detta skall räcka för att du skall kunna se resultatet.


Svara

Sv:ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-03-27 08:41:17 - Mikael Johansson

Bra grund, lite att tänka på:

När du dubbelklickar på knappen kommer du få upp följande rad:
<code>
protected void Button1_Click(object sender, EventArgs e)
{

}
</code>

Det är bättre att lägga in koden här än i Page_Load. När du kör IsPostBack i Page_Load så genereras den koden alltid så fort det sker en aktiv händelse på sidan. Har man flera knappar eller andra kontroller med autopostback=true på så får man lite oönskade effekter. Därför är det generellt sätt bättre att alltid lägga händelsen i kontrollen för själva knappen. Så en hel sida för att skriva ut textboxen till en label kan se ut så här:

<code>
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
}

protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = TextBox1.Text;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><br />
<asp:Label ID="Label1" runat="server"></asp:Label>&nbsp;</div>
</form>
</body>
</html>
</code>


Svara

Sv:ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-03-27 22:53:52 - Ted Ekeroth

Hej!
Tack för svar, men problemet blev inte riktigt besvarat =(

Hans:
Ditt exempel är ett bra exempel på det jag inte fattar. Varför skulle jag någonsin behöva skriva "runat" o annat stuff? Varför mecka med ASP-taggar när jag skriver i C#? Eller du har din "code" i samma fil så att det fungerar ungefär på samma sätt som PHP, med att öppna o stänga PHP-taggarna?

Benni:
Det fungerar som du sa. Verkade inte göra det innan (eller nåt?). Kanske ni kan assistera lite till? =)

Jag har, enligt nedan, en ListBox som jag slänger inte lite värden i. Sedan vill jag markera ett alternativ, klicka på knappen och få det som står i ListBox:en i en Label (inte i slutändan, men vi börjar med det).
Det fungerar såklart inte, utan jag får följande fel:

Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Line 90: private void Button1_Click(object sender, System.EventArgs e)
Line 91: {
Line 92: System.Web.UI.WebControls.ListItem it = ListBox1.Items[ListBox1.SelectedIndex];
Line 93: Label4.Text = it.Value.ToString();
Line 94:

Det verkar som om inte SelectedIndex kommer med på nåt sätt...?

<code>
sqlDataAdapter.SelectCommand = comm;
ds = new DataSet("users");
sqlDataAdapter.Fill(ds, "users");
ArrayList users = new ArrayList();
ListBox1.Items.Clear();
if (!t)
{
for (int i = 0; i < ds.Tables["users"].Rows.Count; i++)
{
DataRow row = ds.Tables["users"].Rows[i];

ListBox1.Items.Add(new System.Web.UI.WebControls.ListItem(row["firstname"].ToString()+" "+row["lastname"].ToString(), i.ToString()));
}
t = true;
}
</code>


och


<code>
private void Button1_Click(object sender, System.EventArgs e)
{
System.Web.UI.WebControls.ListItem it = ListBox1.Items[ListBox1.SelectedIndex];
Label4.Text = it.Value.ToString();

}
</code>


Svara

Sv: ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-03-28 00:46:41 - Benni Svensson

Som jag ser det,så krånglar du till det:
<code>
private void Button1_Click(object sender, System.EventArgs e)
{
Label4.Text = ListBox1.text
'du kan också välja selectedvaule eller selecteditim
}

</code>
...det är bara att bröva sig fram.


Svara

Sv: ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-03-28 11:34:58 - Oskar Johansson

> Ditt exempel är ett bra exempel på det jag inte fattar. Varför skulle jag någonsin behöva skriva "runat" o annat stuff? Varför mecka med ASP-taggar när jag skriver i C#? Eller du har din "code" i samma fil så att det fungerar ungefär på samma sätt som PHP, med att öppna o stänga PHP-taggarna?

I asp.net så tragglar du inte runt med att skriva ut strängar till höger och vänster, stoppa en massa html i olika if-satser och liknande. Du kör istället något med "oop-vänligt", eller vad man nu ska kalla det. Om du sätter dit runat="server" på en (x)html-tagg så kommer asp.net att istället för att bara tolka taggen som text som ska spottas ut istället skapa ett objekt på servern varje gång sidan anropas. Det objektet har sedan egenskaper, t.ex. text, underkontroller, css, eller händelser (t.ex. har en textbox event för om texten har ändrats mellan två postbacks.) För att asp.net ska veta vad du vill göra serverkontroller av så måste du markera det på något sätt. Därav runat="server"

> Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

Om du inte har markerat någon rad i din listbox så retunerar den -1. Tänk på att listboxen måste innehålla någonting också, använder du viewstate? Viewstate lagrar i det här fallet innehållet i din lsitbox mellan sidladdningarna i ett gömt fält på sidan. Om det är avstängt måste du själv lägga in det, och du måste lägga in det innan click-händelsen körs.


Svara

Sv:ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-04-19 17:38:40 - Ted Ekeroth

Tack, sorry för sents var. Har legat lite på latsidan med det projektet. Ska ta ett ryck snart igen =)


Svara

Sv: ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-04-20 08:08:32 - Daniel Gunnarsson

Alla komponenter du hittar i WebForms-toolboxen är redan färdiga med runat=server. Skulle du vilja använda dig av det som finns under HTML i toolboxen måste du skriva in runat=server för att komma åt dem i cs-filen...

Du måste kanske även ange den komponent högst upp bland de andra "protected System.Web.UI.WebControls.Button Button1;".... Dett brukar krångla lite för mig, ibland kommer det upp ibland inte.


Sen även för att få ditt arbete så dynamiskt och objektorienterat som möjligt, försök att använda så många funktioner som möjligt:

private void DittNamnPåFunktionen()
{
     Label1.Text = TextBox1.Text;
}



och sen anropa den på din knapp

DittNamnPåFunktionen();


Svara

Sv:ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-04-27 02:38:36 - Ted Ekeroth

Hej igen,

kom på att man inte kan "re-populate" ListBox:en när man gjort en "post".

i min Page_Load fick jag alltså köra en:

<code>
if (!Page.IsPostBack)
{
...
}
</code>

verkar fungera bättre nu...


Svara

Sv: ASP.NET / C#: Tacksam för ett enkelt exempel med forms

Postades av 2006-04-28 07:50:59 - Mikael Svensson

Hejsan
Kolla dessa filmer från Microsoft
http://msdn.microsoft.com/vstudio/express/vwd/learning/default.aspx
Små och korta filmer för nybörjare till :NET & ASP.NET

/Micke S


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 615
27 953
271 709
5 682
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