webForumDet fria alternativet

Nybörjarfråga.

.NET

6 svar · 469 visningar · startad av Andreas L

Medlem sedan sep. 2000215 inlägg
Frågan#1

Har bara pysslat med detta i några dagar, men har sysslat med vanlig asp ganska mycket tidigare. Jag har en fråga som säkert är väldigt enkel för den som har lite erfarenhet:

I asp kunde man ju blanda html och scriptkod lite som man ville. Om jag exmpelvis hade en sessionsvariabel kunde jag slänga in det i en dold textruta typ:

<input type="hidden" value="<%=session("min session")%>" id="lkjl">
-sidan laddades och allt var klart.

men i .net2 så kan ju en textbox se ut såhär:
<asp:TextBox ID="namnTextBox" runat="server" Text=""></asp:TextBox>
förtydligande: om textboxen ligger i en formview...

Det är just de här enkla sakerna som ger mig huvudbry. Jag får inget grepp om hur jag slänger in defaultvärden i textboxar eller hidden field.
Ex. ett värde som tas emot via en querystring. Kan någon ge en enkel förklaring?

Jag antar att min brist på erfarenhet gör att jag angriper saker på fel sätt...

Medlem sedan aug. 20039 340 inlägg
#2

ASP.net har den goda vanan att skilja på kod och innehåll. Behåll din asp:checkbox som den är nu, och lägg till följande i ett kodblock högst upp på sidan. (Efter alla rader som börjar med <%@ men före din doctype brukar vara ett bra ställe) Där skriver du så här:

<%
namnTextBox.Text = session("min session")
%>

Dino: Sorry, jag hade bara skrivit en sträng där, och kopierade hans session-kod rakt av. Nu är koden helt i VB.

Medlem sedan nov. 20041 189 inlägg
#3

I 99% av fallen ska du inte använda dig av <%= ...%> i .Net, utan istället av objektorientering, genom att tilldela egenskaperna av dina webbkontroller, värden, genom tilldelningsoperatorn (=).

Medlem sedan sep. 20011 914 inlägg
#4

I min värld ser C# versionen ut så här.

Session["minsession"];
Medlem sedan sep. 2000215 inlägg
#5

tack för svaren, jag förstår att jag sätter krokben för mig själv en del, när jag tänker på lite "föråldrat sätt".

Nåja, saken är att det förvisso fungerar att tilldela värde till enskilda kontroller, men jag får det inte att fungera när jag vill tilldela värdet till en "textruta" som ligger inuti en "formview".
Det hade varit jättefint att se något exempel på såna här grundläggande saker.

Medlem sedan aug. 20003 575 inlägg
#6

Här är kanske ett exempel.

default.aspx

<asp:TextBox id="txtName" runat="server" />
<asp:TextBox id="txtLastName" runat="server" />

default.cs

Page_Load()
{[INDENT]if(Session["Person"] != null)
{
[INDENT]// Säg att du har en class kallad Person med proporties med Name och LastName
Person p = (Person)Session["Person"];

txtName.Text = p.Name;
txtLastName.Text = p.LastName;[/INDENT]
}[/INDENT]}
Medlem sedan sep. 2000215 inlägg
#7

svaret på frågan blev:
Dim row As FormViewRow = FormView1.Row
Dim txt As TextBox = row.FindControl("namnTextBox")
txt.Text = "098098"

men det löste inte mina problem:

Jag borde ju ha skrivit ett nytt insertcommand i pageload istället, så hade jag sparat några timmar... hehe.

Tack ni som svarat i tråden!

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)