Tjenare.
Jag vill skapa en egen paging. Jag har gjort en förut och då använde jag Hyperlinks så här:
[red]
if(PagedData.PageCount > 0)
{
for(int i = 0; i < PagedData.PageCount; i++)
{
HyperLink link = new HyperLink();
link.NavigateUrl = HttpContext.Current.Request.CurrentExecutionFilePath+"?p="+HttpContext.Current.Request.QueryString["p"].ToString()+"&page="+i.ToString();
link.Text = Convert.ToString((i + 1));
Literal lit = new Literal();
lit.Text = " ";
this.plcLinks.Controls.Add(lit);
this.plcLinks.Controls.Add(link);
}
}[/red]
Vid den sida som jag har nu så har jag dock lite olika värden i dropdownlister och dessa är argument till min datagrid. Så låt oss säga att jag väljer att visa alla städer i Dalarna i dropdownlisten sedan uppdaterar jag datagriden. Då kommer upp tre sidor i min paging. Klickar jag på sida 2 så kommer värdet i dropdownlisten att försvinna och standardvärdet i dropdownlisten göra så att datagriden inte har någon paging alls......
Hoppas ni förstår och att det finns något bra sätt att lösa detta på. Jag förstår att jag kan föra vidare mina värden från dropdownlisten i Querystringen men jag tänkte om det fanns något annat sätt att bibehålla sidans värde.
[red]public void LoadProvince()
{
//Kollar om querystringen p finns
if(HttpContext.Current.Request.QueryString["p"] != null)
{
//Sätter p
this.p = Convert.ToInt16(HttpContext.Current.Request.QueryString["p"]);
//Skapar en instans av min Logic
Logic l = new Logic(ConnectionType.ORMapper);
//Hämtar det valda länet
TblProvince t = l.GetSelectedProvince(p);
//Skapar en ny ListItem för länet, samt sätter värdet och texten på den
ListItem pItem = new ListItem();
pItem.Text = t.FldProvinceName;
pItem.Value = t.PkProvinceId.ToString();
//Lägger till ovanstående ListItem
this.province.Items.Add(pItem);
//Skapar en ny ListItem för angränsande län, samt sätter värdet och texten på den
ListItem nItem = new ListItem();
nItem.Text = "Angränsande län";
nItem.Value = "0";
//Lägger till ovanstående ListItem
this.province.Items.Add(nItem);
//Skapar en ny ListItem för hela sverige, samt sätter värdet och texten på den
ListItem sItem = new ListItem();
sItem.Text = "Hela sverige";
sItem.Value = "-1";
//Lägger till ovanstående ListItem
this.province.Items.Add(sItem);
//Skapar en ny ListItem för - - - - , samt sätter värdet och texten på den
ListItem Item = new ListItem();
Item.Text = "- - - - - - - - - - -";
//Lägger till ovanstående ListItem
this.province.Items.Add(Item);
//Loopar igenom alla län
ICollection province = l.GetAllProvinces();
foreach(TblProvince prov in province)
{
if(p != prov.PkProvinceId)
{
ListItem li = new ListItem();
li.Text = prov.FldProvinceName;
li.Value = prov.PkProvinceId.ToString();
this.province.Items.Add(li);
}
}
}
else
{
Response.Redirect("default.aspx");
}[/red]