Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Gridview图像按钮行命令在IE中不工作?_C#_Asp.net_Vb.net_Gridview - Fatal编程技术网

C# Gridview图像按钮行命令在IE中不工作?

C# Gridview图像按钮行命令在IE中不工作?,c#,asp.net,vb.net,gridview,C#,Asp.net,Vb.net,Gridview,我在gridview项目模板中有图像按钮。当单击RowCommand事件中的图像时,CommandName显示的与我期望的不同。它总是说“选择”,但我期待的是“pdf” 这只发生在IE中,而不是Chrome中 <asp:GridView ID="grdLoan" Width="100%" runat="server" CssClass="grid" HeaderStyle-CssClass="gridHeader" PageSize="25" AutoGe

我在gridview项目模板中有图像按钮。当单击RowCommand事件中的图像时,CommandName显示的与我期望的不同。它总是说“选择”,但我期待的是“pdf”

这只发生在IE中,而不是Chrome中

 <asp:GridView ID="grdLoan" Width="100%" runat="server" CssClass="grid" HeaderStyle-CssClass="gridHeader"
                PageSize="25" AutoGenerateColumns="false" RowStyle-CssClass="gridItem" AlternatingRowStyle-CssClass="gridAltItem"
                AllowPaging="false" BackColor="LightGray">
                <SelectedRowStyle CssClass="SelectedRowStyle" />
                <Columns>
                    <asp:BoundField HeaderText="Loan Number" DataField="strAltLoanNumber">
                        <ItemStyle Wrap="False" />
                    </asp:BoundField>
                    <asp:BoundField HeaderText="Security" DataField="strGlobalSecurity">
                        <ItemStyle Wrap="False" />
                    </asp:BoundField>
                    <asp:BoundField HeaderText="Sample #" DataField="intSampleID"></asp:BoundField>
                    <asp:TemplateField HeaderText="PDF">
                        <ItemTemplate>
                            <asp:ImageButton CommandName="pdf" ID="imgPDF" ImageUrl="~/Images/pdf.png" runat="server"
                                CommandArgument='<%#Eval("strGlobalLoanNumber")%>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
  </asp:GridView>
我也试过了

<asp:ImageButton CommandName="pdf" ID="imgPDF" ImageUrl="~/Images/pdf.png"
 runat="server" CommandArgument='<%#Eval("strNumber")%>' OnClick="imgPDF_Click" />

Onclick事件从不激发,也不会影响其工作

也试过

<asp:CommandField ShowEditButton ...>

第一次
row命令
触发两次。一次是
编辑
,另一次是
选择
。如果我第二次单击它是
选择


我不明白发生了什么事。

对不起,我没看到你有身份证

我想你在用IE 10

.NET 2.0和.NET 4附带的浏览器定义文件中存在一个错误,即它们包含特定范围的浏览器版本的定义。但某些浏览器(如IE 10)的版本不再在这些范围内。因此,ASP.NET将它们视为未知浏览器,并默认为低级定义,这有一定的不便,例如它不支持JavaScript等功能

只需安装.NET Framework 4.5即可解决此问题。

即使您不将应用程序池切换到.NET Framework 4.5,这也可以解决问题


相关:

我检查了您的代码,但它在这里工作,我使用的是IE8及其工作模式

我改变的是:

<asp:GridView ID="grdLoan" Width="100%" runat="server" CssClass="grid" HeaderStyle-   CssClass="gridHeader" PageSize="25" AutoGenerateColumns="false"
 RowStyle-CssClass="gridItem" **onRowCommand = "grdLoan_RowCommand"** AlternatingRowStyle- CssClass="gridAltItem" AllowPaging="false" BackColor="LightGray">

我在IE 8中正确获取commandname…

请检查您的页面加载方法,并确保将网格绑定到IsPostback检查中:

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack) // Don't forget this
    {
        grdLoan.DataSource = ...;
        grdLoan.DataBind();
    }
}

您可以显示GridView的第一行吗?您错过了
OnRowCreated=“grdLoan\u RowCreated”OnRowCommand=“grdLoan\u RowCommand”
err:“grdLoan\u RowCommand”不是“ASP.home\u aspx”的成员。我认为它不需要,因为我正在用
Handles grdLoan.RowCreated
处理代码,他使用
Handles grdLoan.RowCreated
而不是属性声明。你试过我关于“页面加载”的回答吗?
protected void grdLoan_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName.ToLower() == "pdf")
        {
        }
    }
protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack) // Don't forget this
    {
        grdLoan.DataSource = ...;
        grdLoan.DataBind();
    }
}