Кнопки ссылок не работают в IE, когда вокруг кнопки присутствует div - PullRequest
0 голосов
/ 04 ноября 2011

Это больше похоже на то, что я хотел бы знать, почему.Кнопки ссылок работают в Firefox и Chrome, но не в IE-8.
EDIT: показывает, что работает в IE-7, но не в 8

Теперь, если вы удалите

<div>
</div>

тогда все ссылки работают нормально.Кто-нибудь знает почему.

СТРАНИЦА AXPX

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testPage.aspx.cs" Inherits="MyCompany.WEB.Pages.Secured.testPage" MasterPageFile="~/Layouts/Branding.Master" Theme="Default" %>
<%@ Register Assembly="DBauer.Web.UI.WebControls.DynamicControlsPlaceholder" Namespace="DBauer.Web.UI.WebControls" TagPrefix="DBWC" %>
<%@ Register TagPrefix="MyCompany" TagName="Toolbar" Src="~/Controls/ToolbarViewer.ascx" %>

<asp:Content ID="conToolbar" runat="server" ContentPlaceHolderID="cphToolbar">
<MyCompany:Toolbar ID="incToolbar" runat="server" />
</asp:Content>
<asp:Content ID="conHome" runat="server" ContentPlaceHolderID="cphMain">
<asp:ListView ID="lvProducts" runat="server" OnItemDataBound="lvProducts_ItemDataBound">

     <EmptyDataTemplate>There are no primary UITs</EmptyDataTemplate>
     <LayoutTemplate>
           <asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
     </LayoutTemplate>

     <ItemTemplate>
      <asp:UpdatePanel ID="pnlMainUpdate" runat="server" UpdateMode="Conditional"  >
       <ContentTemplate >
         <asp:Repeater ID="rptLineItems" runat="server" OnItemDataBound="rptLineItems_ItemDataBound" >
           <ItemTemplate>
             <asp:Panel runat="server"  ID="pnLineItem" CssClass="Block ClearBoth UITOrderGroup Ledger OrderBorder FloatLeft UITOrderHeight">
             <asp:LinkButton  ID="lnkAddRow" runat="server" CssClass="IconButton Block Add" style="width:20px;" ToolTip="Add Row" CommandName="AddItem" OnCommand="lnkRow_Command" ></asp:LinkButton>
             </asp:Panel>
            </ItemTemplate>
         </asp:Repeater>
        </ContentTemplate>
       </asp:UpdatePanel>

     </ItemTemplate>
</asp:ListView>

<div class="floatRight">
    <asp:button ID="btnSubmit" runat="server" CssClass="DefaultButton floatRight" Text="Order" ToolTip="Click here to Order" Visible="true"></asp:button>
</div>

</asp:Content>

КОД ЗАД

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace MyCompany.WEB.Pages.Secured
{
    public partial class testPage : MyCompanyPageBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            lvProducts.DataSource = new List<int>() {1,2,4,5,6};
            lvProducts.DataBind();
        }
    protected void lvProducts_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        var dataItem = (ListViewDataItem)e.Item;
        var rptLineItems = (Repeater)dataItem.FindControl("rptLineItems");
        rptLineItems.DataSource = new List<int> { 1,2,3,4,5 };
        rptLineItems.DataBind();
    }
    protected void lnkRow_Command(object sender, CommandEventArgs commandEventArgs)
    { }
    protected void rptLineItems_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
    }
}
}

Ответы [ 2 ]

0 голосов
/ 18 ноября 2011

Оказывается, вы должны установить свойство Text для элементов управления в виде списка.

<ItemTemplate>
         <asp:Panel runat="server"  ID="pnLineItem" CssClass="Block ClearBoth UITOrderGroup Ledger OrderBorder FloatLeft UITOrderHeight">
         <asp:LinkButton  ID="lnkAddRow" runat="server" CssClass="IconButton Block Add" style="width:20px;" ToolTip="Add Row" CommandName="AddItem" OnCommand="lnkRow_Command" Text="" ></asp:LinkButton>
         </asp:Panel>
        </ItemTemplate>
0 голосов
/ 04 ноября 2011

Я подозреваю, что из-за вашего стиля LinkButton отображается неправильно.Удалите свойство CssClass из Panel и посмотрите, имеет ли это значение.

При отладке этой проблемы я бы тоже временно удалил UpdatePanel.Отладить подобные проблемы проще без AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...