在浏览器中查看时,出现以下错误:无法将类型为“ ASP.webform1_aspx”的对象强制转换为“ System.Web.UI.WebControls.Button”。

我该如何解决这个问题?

    Line 7:          If Not Page.IsPostBack Then
    Line 8:              Dim rowIndex As Integer = 0  
    <b>Line 9:              Dim btn As Button = DirectCast(sender, Button)</b>
    Line 10:             'Get reference of the gridview row of the button clicked.
    Line 11:             Dim GridView2 As GridViewRow = DirectCast(btn.Parent.Parent, GridViewRow)
    Line 12:             Dim txt1 As TextBox = TryCast(GridView2.Cells(1).FindControl("TextBox1"), TextBox)

===============>>#1 票数:1

您正在使用错误的对象。 您的sender是您的Web表单,或者是btn.Parent.Parent是您的Web表单。 显然,您不能将网络表单转换为按钮。

如果此代码包含在Button_Click事件中,则发送者可能是一个按钮。 在那种情况下,我将btn.Parent.Parent更改为btn.Parent因为如果下一级是Web表单,则可能是您的网格视图行。

更新:看起来这是在Page_Load事件中。 在这种情况下, sender是Web表单,而不是按钮。 直接参考按钮名称以解决此问题。

===============>>#2 票数:0

您正在页面加载事件中纠正此代码,在这种情况下,发件人对象是页面本身,并且您正在尝试将该发件人转换为按钮控件。 我认为该事件不是因为按钮而触发,而是因为页面。

删除此行,问题消失了

   <b>Line 9:              Dim btn As Button = DirectCast(sender, Button)</b>

  ask by actKing translate from so

未解决问题?本站智能推荐:

1回复

无法将类型为“ System.Web.UI.WebControls.Button”的对象转换为类型为“ System.Web.UI.WebControls.DropDownList”的对象

错误: 无法将类型为“ System.Web.UI.WebControls.Button”的对象转换为类型为“ System.Web.UI.WebControls.DropDownList”的对象 为什么?
2回复

无法将类型为“ System.Web.UI.WebControls.Button”的对象转换为类型为“ System.Web.UI.WebControls.CheckBox”的对象

我正在尝试使用复选框供用户选择要从DataList中删除的项目。 这就是我的编码方式: 无法将类型为“ System.Web.UI.WebControls.Button”的对象转换为类型为“ System.Web.UI.WebControls.CheckBox”的对象。 我不确定
3回复

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

我尝试批准文档,但是当我单击批准按钮时,它向我显示错误 无法将类型为“ System.Web.UI.WebControls.Button”的对象转换为类型为“ System.Web.UI.WebControls.LinkBut​​ton”的对象。 网格视图 码
1回复

无法将类型为“ System.Web.UI.LiteralControl”的对象转换为类型为“ System.Web.UI.WebControls.Button”的对象

我收到此错误:无法将类型为“ System.Web.UI.LiteralControl”的对象转换为类型为“ System.Web.Controls.TextBox”
3回复

从asp.net codebehind调用按钮单击

我有两个按钮,如下所示: 第一个按钮: 第二个按钮: 现在,如果我点击btn1我需要做一些事情然后我需要在流程结束时automatically点击btn2 ,这需要执行一些客户端操作。 这就是我需要做的事情: 因为我的btn2应该这样做:
1回复

未将对象引用设置为Gridview删除按钮的对象实例[关闭]

我目前正在尝试使我的按钮在我的Visual Studio页面中工作。 我在页面中运行了一些代码,并不断返回此错误: 你调用的对象是空的。 说明:执行当前Web请求期间发生未处理的异常。 请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。 异常详细信息:System.
1回复

整个会话的asp disable按钮

我想在Web表单上禁用提交按钮,如在以下文章中建议的: 如何在ASP按钮上禁用回发 但是,即使用户导航到应用程序中的其他网页(例如管理页面),然后导航回到原始页面,该按钮也应保持禁用状态; (在我的情况下,该按钮将不再被禁用)。 那么,有没有办法使该按钮在此类事件中保持禁用状态(例如,
5回复

ASP.Net:为什么我的按钮的点击/命令事件没有在转发器中绑定/触发?

这是来自具有转发器的ascx的代码: 在转发器的数据绑定和事件的代码隐藏中: 点击或命令都没有被调用,我做错了什么?
2回复

asp.net如何在ajax完成后恢复按钮的回发?

我有一个按钮,并具有btnSubmit的回发功能。单击后面的代码。 现在,我要执行预发布操作,该操作将调用ajax进行一些计算,并有一个确认框,允许用户单击“确定”-恢复原始按钮的功能以执行回发,或单击“取消”-只需取消回发。 我一直只收到确认框,但“确定”不起作用,否则回发将超
1回复

使用代码隐藏编码使ASP.Net命令按钮不可见或隐藏

我们在带有GridView的ASP.Net Web表单上有一个命令按钮,用户将GridView中显示的数据作为电子邮件发送。 在这个GridView上是一个“选择”命令按钮,当用户点击图像按钮并在发送电子邮件时再次显示该按钮时,我们希望暂时从GridView中删除该按钮。 我们想删除