1

如果 Listview 为空,我正在尝试重定向到错误页面。我确实尝试了以下解决方法,但似乎没有重定向。

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

这有什么问题?有可能这样做吗?

4

2 回答 2

2

试试下面的代码而不是你的代码

if (e.Item.ItemType == null)

编辑

或试试这个代码

if (lvDetils.Items.Count==0)

新编辑:

但是您还有另一个选择是 .use lvDetils_ItemCreated

protected void lvDetils_ItemCreated(object sender, ListViewItemEventArgs e)
    {
        if (e.Item.ItemType == ListViewItemType.EmptyItem)
        {
            Response.RedirectToRoutePermanent("NotFound");
        }
    }
于 2013-03-31T14:39:17.303 回答
0

好的。我也终于用状态码完成了。谢谢拉梅什·拉金德兰。

下面是代码。

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;
    }
}

状态码信息来源:

如何为页面设置404状态码

于 2013-03-31T15:34:44.943 回答