在我的应用程序中,我有两个网格视图,在我的第一个gridview中,我将只有计数和用户名,点击第一个gridview中的链接按钮,我将在第二个gridview中获得该特定用户的完整信息问题是在我的第二个网格视图中,我在分页上进行分页,我将转到该链接按钮事件,并获得以下异常:
无法将“ASP.home_aspx”类型的对象强制转换为类型 'System.Web.UI.WebControls.LinkButton'。
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事件
答案 0 :(得分:0)
为什么不简单地尝试OnCommand而不是OnClick并执行:
User1 = e.CommandArgument;
而不是
User1 = ((LinkButton)sender).CommandArgument;
您可以找到一个简单的示例here
答案 1 :(得分:0)
你在这里期待:
User1 = ((LinkButton)sender).CommandArgument;
sender
为LinkButton
。但是您从另一个处理程序grd1_PageIndexChanging
调用此处理程序,而sender
只是您的页面。这就是异常发生的原因。
更好地了解User1
在这种特殊情况下应该是什么,并将公共代码移动到单独的函数中。
答案 2 :(得分:0)
User1 = ((LinkButton)sender).CommandArgument;
您的sender
是一个持有Linkbutton
的对象。
现在我有一个问题How about your User1, is it a Linkbutton?
如果没有那么这是你的问题。