2

我正在尝试更新大约 5 年前由其他人使用 Visual Studio 2008 完成的 VB.NET Web 项目。

我被难住的网络表单现在有两 (2) 个ASP GridView控件,我似乎无法判断ImageButton是如何评估(或失败)的。

我需要修复失败的部分!

下面是一个带有ImageButton失败的GridView控件: ibComplete

<asp:GridView ID="GridView1" Font-Size="Small" AllowPaging="true" PageSize="25" OnRowCommand="gridview1_RowCommand" OnSelectedIndexChanged="gridview1_SelectedIndexChanged" OnRowDataBound="gridview1_RowDataBound" runat="server" Visible="False" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" Width="950px" BackColor="White" DataKeyNames="partid,primary_vendor,PART_DESCRIPTION,PRI_VENDOR_NAME,MIN_REORD_QTY,PUOM,Revised_Date">
  <Columns>
    <asp:TemplateField HeaderText="">
      <ItemStyle Width="30px" />
    <ItemTemplate>
      <asp:ImageButton ID="ibComplete" CommandName="Complete" Width="17px" Height="15px" ImageUrl="~/Images/uncheck.jpg" runat="server" CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>" />
    </ItemTemplate>
    <HeaderTemplate>
      <asp:LinkButton ID="lbaddAll" CommandName="AddAll" runat="server">All</asp:LinkButton>
    </HeaderTemplate>
  ...

好的,对于 ImageButton ibComplete,我在 RowCommand 上设置了一个断点:

Protected Sub gridview1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)
  Try
    Dim GridView1 As GridView = CType(gvVendor.SelectedRow.FindControl("GridView1"), GridView)
    m_emp = m_master.Employee ' EmployeeManager.getEmployeeListByEmpLogin(empName.Trim)
    If e.CommandName = "Complete" Then

但是,在它被击中之前,我有一些看起来很奇怪的“eval 代码”文件在这里抛出错误:

_endPostBack: function PageRequestManager$_endPostBack(error, executor, data) {
    if (this._request === executor.get_webRequest()) {
        this._processingRequest = false;
        this._additionalInput = null;
        this._request = null;
    }

    var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
    Sys.Observer.raiseEvent(this, "endRequest", eventArgs);
    if (error && !eventArgs.get_errorHandled()) {
        throw error;
    }
},

通过 VS2008 GUI 报告的错误是这样的:

JavaScript 运行时错误:
Sys.WebForms.PageRequestManagerServerErrorException:输入字符串的格式不正确。

截屏

这段代码甚至不存在于我的文档中,在 VS2008 的选项卡上,它被称为ScriptResource.a...cf8d3f2 [dynamic]。一旦我停止我的项目,它就会消失,所以我无法真正编辑它。

我意识到这对大多数人来说很难理解,而且我可能需要包含其他内容才能让别人回答我。没关系!告诉我我需要包括什么。

如何修复此错误?

4

1 回答 1

2

这可能是 IE 10 中所做的更改的问题,该更改以十进制格式而不是整数形式发送图像输入的坐标。

一些建议的修复包括:

  1. 升级到 .Net 4.5 框架
  2. 将兼容模式设置为 IE8/9

    元 http-equiv="X-UA-Compatible" 内容="IE=8"

  3. 应用这些补丁:

.Net 4.0

http://support.microsoft.com/kb/2836939

.Net 2.0

http://support.microsoft.com/kb/2836943

http://support.microsoft.com/kb/2836942

错误报告 URL 是https://connect.microsoft.com/VisualStudio/feedback/details/755419/asp-net-4-0-and-ie10-click-on-imagebutton-in-updatepanel-produces-error-click -on-normal-button-does-not

于 2013-07-03T17:12:45.063 回答