我正在尝试更新大约 5 年前由其他人使用 Visual Studio 2008 完成的 VB.NET Web 项目。
我现在遇到的网络表单有两 (2) ASP GridView控制,我似乎不知道如何 ImageButton正在评估(或失败)。
我需要修复失败的部分!
下面是 GridView使用 ImageButton 进行控制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
但是,在它被击中之前,我有一些看起来很奇怪的“评估代码”文件,它在这里抛出错误:
_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 runtime error:
Sys.WebForms.PageRequestManagerServerErrorException: Input string was not in a correct format.
这段代码甚至不存在于我的文档中,在 VS2008 中的选项卡上,它被称为 ScriptResource.a...cf8d3f2 [dynamic]。一旦我停止我的项目,它就会消失,所以我无法真正编辑它。
我意识到这对大多数人来说很难理解,而且我可能需要添加其他内容才能让别人回答我。没关系!只需告诉我需要包含哪些内容即可。
如何修复此错误?
最佳答案
这可能是 IE 10 中所做的更改导致的问题,该更改以十进制格式而不是整数发送图像输入的坐标。
一些建议的修复包括:
- 升级到 .Net 4.5 框架
设置兼容模式为IE8/9
meta http-equiv="X-UA-Compatible"content="IE=8"
应用这些补丁:
.Net 4.0
http://support.microsoft.com/kb/2836939
.Net 2.0
http://support.microsoft.com/kb/2836943
关于asp.net - 如何理解 Visual Studio 2008 中的动态 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17451143/