C# Gridview图像按钮行命令在IE中不工作?
我在gridview项目模板中有图像按钮。当单击RowCommand事件中的图像时,CommandName显示的与我期望的不同。它总是说“选择”,但我期待的是“pdf” 这只发生在IE中,而不是Chrome中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
<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();
}
}