Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem varijabla

[es] :: .NET :: Problem varijabla

[ Pregleda: 3704 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nristic
Hrvatska

Član broj: 11531
Poruke: 55
*.cmu.carnet.hr

Sajt: www.titlovi.net


Profil

icon Problem varijabla23.11.2003. u 00:00 - pre 248 meseci
Imam jedan problem.
Imam jednu aspx stranicu, ascx user kontrolu i vb klasu.

U vb klasi imam varijablu definiranu ovako
Public strtitle as string
Uglavnom u kodu ta varijabla se mjenja prema linku na koji je
korisnik kliknuo.Sada tu varijablu stavljam u aspx stranicu
ovako.

<title><% =strporuka %></title>

Znači želim da mi u title piše ta poruka.

Dobijem sljedeću grešku : Name 'strtitle' is not declared
Čim maknem ono iz title taga sve ostalo radi.


 
Odgovor na temu

ZokiR
Zoran Radojković
Melburn, Australija

Član broj: 15986
Poruke: 109
*.nexnet.net.au



Profil

icon Re: Problem varijabla24.11.2003. u 03:30 - pre 248 meseci
Jedan od načina da se ovo uradi je da staviš literal kontrolu u title:

Code:
<title><asp:literal id="myPageTitle" runat="server"/></title>


Kontrolu takođe treba deklarisati u "code-behind" fajlu:

Code:
Public myPageTitle As System.Web.UI.WebControls.Literal


Onda naslov menjaš po potrebi sa

Code:
myPageTitle.Text = "Moje ime je..."

 
Odgovor na temu

nristic
Hrvatska

Član broj: 11531
Poruke: 55
*.cmu.carnet.hr

Sajt: www.titlovi.net


Profil

icon Re: Problem varijabla24.11.2003. u 20:25 - pre 248 meseci
Hvala na odgovoru ali nije uspjelo.Javlja grešku:
Object reference not set to instance of object.

Stvarno ne kužim u čemu je problem.
Ako npr u title tag stavim
<%= Request("ime_parametra") %>
onda pročita vrijednost iz query stringa ali ako stavim bilo varijablu ili
literal kontrolu javlja grešku.




 
Odgovor na temu

ZokiR
Zoran Radojković
Melburn, Australija

Član broj: 15986
Poruke: 109
*.vic.bigpond.net.au



Profil

icon Re: Problem varijabla25.11.2003. u 13:15 - pre 248 meseci
Ne znam u cemu bi mogao biti problem, možda nešto u vezi sa tom ascx user kontrolom? Kod mene u VS.NET 2003 sledeci trivijalni primer radi bez greške:

TitleTest.aspx
Code:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="TitleTest.aspx.vb" Inherits="TitleTest2.TitleTest"%>
<HTML>
    <HEAD>
        <title><%=myPageTitle%></title>
    </HEAD>
    <body>
        <form id="Form1" method="post" runat="server">
            <asp:TextBox id="titleTextBox" runat="server"></asp:TextBox>
            <asp:Button id="setTitleButton" runat="server" Text="Set Title"></asp:Button>
        </form>
     </body>
</HTML>


TitleTest.aspx.vb
Code:
Public Class TitleTest
    Inherits System.Web.UI.Page

    Protected myPageTitle As String
    Protected WithEvents titleTextBox As System.Web.UI.WebControls.TextBox
    Protected WithEvents setTitleButton As System.Web.UI.WebControls.Button

    Private Sub setTitleButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles setTitleButton.Click
        myPageTitle = titleTextBox.Text
    End Sub

End Class

 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12849



+4784 Profil

icon Re: Problem varijabla25.11.2003. u 15:28 - pre 248 meseci
Citat:
ZokiR:
Code:
Public myPageTitle As System.Web.UI.WebControls.Literal


Nemam VS pa ne mogu da proveravam ali zar ovo ne bi trebalo da bude
Code:
Public myPageTitle As New System.Web.UI.WebControls.Literal

 
Odgovor na temu

nristic
Hrvatska

Član broj: 11531
Poruke: 55
*.cmu.carnet.hr

Sajt: www.titlovi.net


Profil

icon Re: Problem varijabla26.11.2003. u 17:12 - pre 248 meseci
Vjerojatno si u pravu da je problem sa user kontrolom.
Ovaj primjer koji si ti dao 100 % radi.

Ali problem kod mene je što user kontrola nasljeđuje iz code behinda a u aspx stranici
se registriraju pomoću register direktive.

Znači ovako nešto
.aspx
<%@ Register Tagname="acme" Tagprefix="aspx" src=kontrole/default.ascx" %>
...<title><% = strtitle %>

.ascx
<%@ Control Inherits="ime_Klase" src="default.ascx.vb" %>
.. tu se nalaze sve kontrole.

.ascx.vb
Public class ime_klase : Inherits UserControl
Public strtitle as String
... kod
End Class
 
Odgovor na temu

ZokiR
Zoran Radojković
Melburn, Australija

Član broj: 15986
Poruke: 109
*.vic.bigpond.net.au



Profil

icon Re: Problem varijabla27.11.2003. u 10:37 - pre 248 meseci
Ok, sad shvatam šta se događa. strtitle je promenljiva u user kontroli, i zato se ne vidi na aspx stranici direktno. Treba da prefiksiraš ID user kontrole ispred imena varijable... znači, ako u aspx fajlu stoji

Code:
<acme:AcmeUserControl id="myUserControl" runat="server"></acme:AcmeUserControl>


onda se strtitle-u pristupa ovako:

Code:
<title><% = myUserControl.strtitle %></title>


Uzgred, moj prvi primer sa literal kontrolom nije radio jer mu je nedostajala ključna reč New u deklaraciji, kao što je Shadowed ispravno primetio. (tako je to kada pokušavam da prevedem kôd iz C# u VB napamet )
 
Odgovor na temu

nristic
Hrvatska

Član broj: 11531
Poruke: 55
*.cmu.carnet.hr

Sajt: www.titlovi.net


Profil

icon Re: Problem varijabla27.11.2003. u 16:12 - pre 248 meseci
Ma krivo si shvatio.Promjenjiva varijabla strtitle
je definirana u vb klasi.

Rješio sam problem.Varijabla treba biti def. ovako
Public shared strtitle as string
i u title tag se upisati ovako
<% = ime_klase.strtitle %> gdje je ime_klase klasa
u kojoj je def. varijabla strtitle.

Hvala puno svima na pomoći.
 
Odgovor na temu

ZokiR
Zoran Radojković
Melburn, Australija

Član broj: 15986
Poruke: 109
*.nexnet.net.au



Profil

icon Re: Problem varijabla28.11.2003. u 01:39 - pre 248 meseci
Citat:
nristic:
Ma krivo si shvatio.Promjenjiva varijabla strtitle je definirana u vb klasi.

Jeste bila definisana u klasi, ali nije bila klasna promenljiva dok joj nisi dodao ono Shared , a ako nije Shared onda se mora staviti ime instance kao prefiks (u ovom slučaju to je ID user kontrole). Da li je promenjiva Shared ili nije već zavisi od toga šta hoćeš da postigneš, ali ako ti ovo radi kako treba, nema problema.
 
Odgovor na temu

[es] :: .NET :: Problem varijabla

[ Pregleda: 3704 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.