2013-03-31 40 views
1

我想重定向到錯誤頁面,如果列表視圖爲空。我確實嘗試了下面的解決方法,但似乎沒有重定向。在代碼後面的Listview中查找空數據?

protected void lvDetils_ItemDataBound(object sender, ListViewItemEventArgs e) 
    { 
     if (e.Item.ItemType == ListViewItemType.EmptyItem) 
     { 
      Response.RedirectToRoutePermanent("NotFound"); 
     } 
    } 

有什麼不對呢?是否有可能這樣做?

+0

確實LvDetils.Items.Count == 0爲此目的工作? – David

+0

我沒有試過這個。但在哪些情況下我應該使用?我正在使用ObjectDataSource綁定列表視圖。但是我的代碼有什麼問題? –

回答

2

試試這個下面的代碼,而不是你的代碼

if (e.Item.ItemType == null) 

編輯

或 試試這個代碼

if (lvDetils.Items.Count==0) 

新編輯:

但是你有另一種選擇是。使用lvDetils_ItemCreated

protected void lvDetils_ItemCreated(object sender, ListViewItemEventArgs e) 
    { 
     if (e.Item.ItemType == ListViewItemType.EmptyItem) 
     { 
      Response.RedirectToRoutePermanent("NotFound"); 
     } 
    } 
+0

對不起。它顯示一個錯誤,因爲它永遠不會等於空..... –

+0

請參閱我的編輯代碼... –

+0

我應該使用哪個事件? –

0

Ok.I已完成了與狀態代碼終於完成了。謝謝Ramesh Rajendran。

以下是代碼。

protected void lvEnglishMovieDetils_ItemCreated(object sender, ListViewItemEventArgs e) 
    { 
     if (e.Item.ItemType == ListViewItemType.EmptyItem) 
     { 
      Response.RedirectToRoutePermanent("NotFound"); 
     } 
    } 

在我404.aspx我又寫道下面的代碼是下面鏈接的狀態代碼信息

public partial class Custom404 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Page.Title = "Page Not Found"; 
    } 

    protected override void Render(HtmlTextWriter writer) 
    { 
     base.Render(writer); 
     Response.StatusCode = 404; 
    } 
} 

來源:

how to set 404 status code for the page

相關問題