无法将“ASP.home_aspx”类型的对象强制转换为“System.Web.UI.WebControls.LinkBut​​ton”类型

时间:2018-02-01 06:20:56

标签: c# asp.net gridview

在我的应用程序中,我有两个网格视图,在我的第一个gridview中,我将只有计数和用户名,点击第一个gridview中的链接按钮,我将在第二个gridview中获得该特定用户的完整信息问题是在我的第二个网格视图中,我在分页上进行分页,我将转到该链接按钮事件,并获得以下异常:

  

无法将“ASP.home_aspx”类型的对象强制转换为类型   'System.Web.UI.WebControls.LinkBut​​ton'。

First Gridview

User                         Completed batches
nandini                            23

在第一个gridview中点击23我将获得第二个gridview中有23个记录的信息,并且在第二个gridview中点击该分页我将首先使用此方法

protected void grd1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
string Eve1 = ViewState["SecondStatus"].ToString();
}

当我第一次点击gridview中的pagining时,我会进入上面的代码,之后我会去lnkCompleted1_Click事件

3 个答案:

答案 0 :(得分:0)

为什么不简单地尝试OnCommand而不是OnClick并执行:

User1 = e.CommandArgument;

而不是

User1 = ((LinkButton)sender).CommandArgument;

您可以找到一个简单的示例here

答案 1 :(得分:0)

你在这里期待:

User1 = ((LinkButton)sender).CommandArgument;

senderLinkButton。但是您从另一个处理程序grd1_PageIndexChanging调用此处理程序,而sender只是您的页面。这就是异常发生的原因。

更好地了解User1在这种特殊情况下应该是什么,并将公共代码移动到单独的函数中。

答案 2 :(得分:0)

好像你有一个问题:

User1 = ((LinkButton)sender).CommandArgument; 

您的sender是一个持有Linkbutton的对象。

现在我有一个问题How about your User1, is it a Linkbutton?

如果没有那么这是你的问题。

相关问题