2013-10-18 162 views
0

我創建顯示文章的自定義頁面,我添加了下拉列表,我可以選擇排序順序,並且還實現了自定義分頁。 這裏是代碼保存下拉列表中的值

var sortOrder = new List<string> {"Title", "Date", "Author"}; 

if (!IsPostBack) 
{ 
    sortOrderDropDownList.DataSource = sortOrder; 
    sortOrderDropDownList.DataBind(); 
} 

articles = articles.OrderBy(a => a.Heading).ToList(); 

if (IsPostBack) 
{ 
    switch (sortOrderDropDownList.SelectedItem.Value) 
    { 
     case "Date": 
      articles = articles.OrderByDescending(a => a.StartDate).ToList(); 
      break; 
     case "Author": 
      articles = articles.OrderBy(a => a.AuthorComment).ToList(); 
      break; 
     default: 
      articles = articles.OrderBy(a => a.Heading).ToList(); 
      break; 
    } 
} 

this.ArticleRepeater.DataSource = articles; 

if (articles.Count > 10) 
{ 
    int count = articles.Count - (number - 1) * 10 >= 10 ? 10 : articles.Count - (number - 1) * 10 - 1; 
    this.ArticleRepeater.DataSource = articles.GetRange((number - 1) * 10, count); 
    StringBuilder stringBuilder = new StringBuilder(); 
    if (number > 1) 
    { 
     stringBuilder.AppendFormat("<a href='{0}?page={1} '>&lt; Prev</a> | ", Request.Url.AbsolutePath, (number - 1)); 
     stringBuilder.AppendFormat("<b>Page {0}</b>", number); 
     if (articles.Count > number * 10) 
      stringBuilder.AppendFormat(" | <a href='{0}?page={1}'>Next &gt;</a>", Request.Url.AbsolutePath, (number + 1)); 

     this.ArticlePaginator.Text = string.Format("<div class='ArticleListPagination'>{0}</div>", stringBuilder); 
     } 

     this.ArticleRepeater.DataBind(); 
} 

我添加autoPostBack ='true'向下拉菜單,然後wneh我從dropdown選擇,我的文章進行排序,但dropdown選定值當我去到下一個頁面(因爲我創造不節省每次創建頁面時都會下拉) 如何將dropdown值保存到視圖狀態?我還在下拉菜單上設置了EnableViewState="True" ViewStateMode="Enabled"

回答

1

ViewState保存在頁面主體中,因此當您轉到其他頁面時,會創建新的ViewState。要在不同頁面之間保存一個值,請使用SessionCookiesQueryString

+0

謝謝! 你可以舉一個例子如何做到這一點? –

+0

請閱讀以下內容:[cookies方式](http://www.codeproject.com/Articles/31914/Beginner-s-Guide-To-ASP-NET-Cookies),[session](http:// asp。 net-tutorials.com/state/sessions/) – gzaxx

+0

非常感謝,希望它能幫助我 –