aengmanMedlem sedan dec. 200150 inlägg Har skapat en UserControl som tar emot ett värde för vilken landskod som skall användas senare i kontrollen.
Då jag kallar på UserControllen använder jag följande kod.
<LANG:Flik CurrentLanguage="<%=CurrentLanguage%>" runat="server" />
Problemet är att UserControllen inte vill kännas vid inkommande värde för CurrentLanguage vars värde kan vara tex. "sv". Behöver kunna sätta värdet dynamsikt beroende på inloggad persns nationalitet.
[Redigerat av aengman den 19 dec 2001]
NETworkMedlem sedan juni 20011 732 inlägg Sätt ett id på kontrollen istället, och sätt värdet i koden. Borde väl vara mycket smidigare. Bort med alla fuliga gamla asp-lösningar... :)
------------------
Jag kan inte komma på någon signatur.
aengmanMedlem sedan dec. 200150 inlägg Vill att värdet skall sätas dynamiskt beroden på inloggad persons val av språk, kan därför inte sätta värdet i koden. Eller?
Hej!
Man borde kunna göra något liknande det här:
<script language="c#" runat="server">
void Page_Load(object sender, EventArgs e)
{
DinFlik.CurrentLanguage = Request.Form["dittForm"];
}
</script>
<LANG:Flik id="DinFlik" runat="server"/>
------------------
mvh André
Hej!
Man borde kunna göra något liknande det här:
<script language="c#" runat="server">
void Page_Load(object sender, EventArgs e)
{
DinFlik.CurrentLanguage = Request.Form["dittForm"];
}
</script>
<LANG:Flik id="DinFlik" runat="server"/>
------------------
mvh André
NETworkMedlem sedan juni 20011 732 inlägg Allt går, har jag fått lära mig! Varför skulle du inte kunna sätta värdet dynamiskt i koden? Jag antar att du har någon slags inloggning och en databas med användaruppgifter? Hämta användarens språkval från databasen och sätt det värdet på kontrollen. Jag är ingen expert på c# (ännu :)) men kan man inte göra något sånt här:
MyUserControl.CurrentLanguage = Language;
...där Language är den variabel med användarens önskade språk.
Aha, juventus1 hade visst redan svarat!
------------------
Jag kan inte komma på någon signatur.
[Redigerat av NETwork den 19 dec 2001]
aengmanMedlem sedan dec. 200150 inlägg Det fungerar om jag skriver
<LANG:Flik CurrentLanguage="sv" runat="server" ID="Lang" />
men inte om jag gör enligt juventus1 förslag (vilket jag tycker att det borde...)
script language="c#" runat="server">
void Page_Load(object sender, EventArgs e)
{
Lang.CurrentLanguage = "sv";
}
</script>
<LANG:Flik id="Lang" runat="server"/>
NETworkMedlem sedan juni 20011 732 inlägg Har du din usercontrol i en annan kontroll eller i en pagelet? Då måste du göra en findcontrol på kontrollen. Exempel:
((MyPagelet)Page.FindControl("MyPageletID")).FindControl("Lang").CurrentLanguage = Language;
Exakt vad är det du försöker göra? Vad ska den här kontrollen göra för något?
------------------
Jag kan inte komma på någon signatur.
[Redigerat av NETwork den 20 dec 2001]
Kan du visa all kod på sidan?
------------------
mvh André
aengmanMedlem sedan dec. 200150 inlägg ---------------------
WebForm.aspx
---------------------
<%@ Register tagprefix="AENG" Tagname="Flik" Src="include/flik.ascx"%>
<AENG:Flik runat="server" ID="Flik" NAME="Flik"/>
---------------------
UserContol med namnet flik.ascx
---------------------
<%@ Control%>
<script language="C#" runat="server">
private String CurrentLanguage;
public String CurrentPageLanguage {
get {
return CurrentLanguage;
}
set {
CurrentLanguage = value;
}
}
</script>
CurrentPageLanguage är det värde jag vill kunna sätta via WebForm.aspx då flik.ascx anropas. Beroende på det värde visas sen olika texter och bilder.
RGBMedlem sedan dec. 1999419 inlägg Du har satt CurrentLanguage till "private" i flik.ascx.
------------------
AIDS :
Apple Infected Disk Syndrome
Det verkar som du försöker tilldela den privata variabeln CurrentLanguage ett värde men det borde istället vara din property som ska tilldelas det värdet.
<script language="c#" runat="server">
void Page_Load(object sender, EventArgs e)
{
DinFlik.[b]CurrentPageLanguage[/b] = Request.Form["dittForm"];
}
</script>
<LANG:Flik id="DinFlik" runat="server"/>
------------------
mvh André
[Redigerat av juventus1 den 22 dec 2001]