webForumDet fria alternativet

postback och ankare

.NETur .NET

4 svar · 218 visningar · startad av icaaq

icaaqMedlem sedan okt. 20005 273 inlägg
#1

Hej.
Jag har en DropDownList som jag satt till autopostback. Inga problem med den koden. Problemet ligger i att jag har den dropdownlisten ganske långt ner på sidan, så när jag kört min postback så hamnar sidan längst upp och man måste scrolla ner. Går detta att lösa på något smidigt sätt utan att använda Smartnavigation.

Jag satt i tankarna att använda en ankare, men hur får jag in den i url:en samtidigt som jag ska komma ihåg värdet från Dropdownlisten.....

Mv icaaq

NETworkMedlem sedan juni 20011 732 inlägg
#2

Jag tror inte det går för när urlen ändras så blir det just inte en postback. Varför kan du inte använda smartnavigation? Du kan ju exempelvis sätta smartnavigation dynamiskt från koden så att den bara används när du använder din dropdownlista, inte annars (typ Page.SmartNavigation = true eller nåt liknande) och sedan sätter du den till false när det är klart.

icaaqMedlem sedan okt. 20005 273 inlägg
#3

ok......det är ju bara det att det är IE specifikt...

Men det får väl gå för denna gång då...

mv icaaq

DinoMedlem sedan sep. 20011 914 inlägg
#4
//.aspx

<a name="#aaa"></a>
<asp:dropdownlist id="ddlTest" autopostback="True" runat="server">
   <asp:listitem text="AAA" />
   <asp:listitem text="BBB" />
   <asp:listitem text="CCC" />
   <asp:listitem text="DDD" />
</asp:dropdownlist>
//.aspx.cs

private void Page_Load(object sender, System.EventArgs e)
{
   if(!IsPostBack)
   {
      ddlTest.Attributes.Add("onchange", "document.forms[0].action += '#aaa', ");
   }
}
icaaqMedlem sedan okt. 20005 273 inlägg
#5

Ditt förslag funkar säkert Dino. Men jag löste det så här

[red]
public void ddlBacksideAlter_Change(object sender, System.EventArgs e)
{
	this.backsideimage.ImageUrl = "../img/cards/backside/"+this.backsidealter.SelectedItem.Text+".jpg";
	this.fixBacksideText(Convert.ToInt16(this.backsidealter.SelectedItem.Text));
	[b]Page.RegisterStartupScript("onload", @"document.getElementById(""+this.btnOrder.ClientID.ToString()+"").focus()");[/b]
}
[/red]

Mv icaaq

Red/ En lite snyggare lösning. PS. btnOrder är en knapp som blir en bra punkt för focusen på sidan DS. ;)

495 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
367 ms — hämta forumlista (db)
125 ms — hämta statistik (db)
368 ms — hämta tråd, inlägg och bilagor (db)