问题描述
|
我最近更新到了IE 9,但遇到了一些奇怪的问题。
我在updatepanel中有一个带有Gridview的页面,网格中有一个用于编辑/删除记录的命令字段。命令字段使用图像作为按钮类型。当我点击按钮时,我收到一个Javascript错误,提示:
Error: Sys.ParameterCountException: Parameter count mismatch.
仅当我使用以下组合(.NET 3.5 + IE 9 +图像类型按钮)时,才会出现此错误。如果我使用的是.NET 4.0或IE 8或“链接/按钮”类型的按钮,则不会出现相同的错误。
<asp:CommandField ButtonType=\"Image\" CancelImageUrl=\"~/Images/undo.jpg\"
DeleteImageUrl=\"~/Images/delete.jpg\" EditimageUrl=\"~/Images/edit_1.jpg\"
InsertVisible=\"False\" ShowDeleteButton=\"True\" ShowEditButton=\"True\"
UpdateImageUrl=\"~/Images/accept.jpg\">
</asp:CommandField>
你知道我该怎么避免吗?
谢谢!
解决方法
嗨,我已经找到了解决方案。我在ScriptManager中设置了ScriptMode = \“ Release \”。默认值为“自动”。它解决了我的问题。您也可以将auto用于相同功能,但必须设置
当retail设置为true时,ASP.NET将禁用某些配置设置,例如跟踪输出,自定义错误和调试功能。只需将retail = true设置为可以使用ScriptMode = Auto。
,我也遇到了这个问题。我正在使用.NET 3.5 + IE 9 +图像类型按钮。我删除了updatepanel后,错误消失了
,如果要保留更新面板,则可以使用TemplateField而不是ButtonField或CommandField。
<asp:TemplateField HeaderText=\"Contacts\">
<ItemTemplate>
<asp:ImageButton ImageUrl=\"../../images/icons/contacts.png\" CommandArgument=\"<%# CType(Container,GridViewRow).RowIndex %>\" CommandName=\"yourCommand\" runat=\"server\" />
</ItemTemplate>
</asp:TemplateField>
Dim row As GridViewRow = uxgvServiceUsers.Rows(Convert.ToInt32(e.CommandArgument))
If e.CommandName.Trim.Equals(\"yourCommand\") Then
Response.Redirect(\"./Page.aspx\")