从代码后面的Listview中查找空数据?

时间:2013-03-31 14:25:57

标签: c# asp.net listview data-binding

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

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

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

2 个答案:

答案 0 :(得分: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");
        }
    }

答案 1 :(得分:0)

好的。我终于用状态码完成了它。谢谢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