我最近更新到IE 9,我遇到了一些奇怪的问题。 我在updatepanel中有一个带有Gridview的页面,grid有一个用于编辑/删除记录的命令域。命令字段使用图像作为按钮类型。当我点击按钮时,我收到一条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>
你知道我怎么能避免这个?
谢谢!
答案 0 :(得分:4)
您好我找到了解决方案。我在ScriptManager中设置了ScriptMode =“Release”。默认值为“自动”。它解决了我的问题。您也可以使用auto,但必须设置 当零售设置为true时,ASP.NET会禁用某些配置设置,例如跟踪输出,自定义错误和调试功能。只需设置retail = true即可使用ScriptMode = Auto。
答案 1 :(得分:1)
我也遇到过这个问题。我使用的是.NET 3.5 + IE 9 +图像类型按钮。删除updatepanel
后,错误消失了答案 2 :(得分:1)
如果您想保留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")