webForumDet fria alternativet

postback och ankare

.NET

4 svar · 220 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Frågan#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

Medlem 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.

Medlem 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

Medlem 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', ");
   }
}
Medlem 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. ;)

268 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)