У меня есть страница ASP.NET с помощью PlaceHolder. Сетки создаются программно и добавляются в этот PlaceHolder, когда страница запущена. Пример:IE8 говорит, что «невозможно отобразить веб-страницу» при использовании динамического PlaceHolder
ASPX Код:
<asp:PlaceHolder ID="myPlaceHolder" runat="server" />
Код позади:
foreach (var country in Tables.Countries())
{
var nGrid = BuildGrid(country.Code);
if (nGrid.Rows.Count > 0)
{
var lTitle = new Literal();
lTitle.Text = "<h2>Stats for country " + country.Name + "</h2>";
myPlaceHolder.Controls.Add(lTitle);
myPlaceHolder.Controls.Add(nGrid);
}
nGrid.Dispose();
}
private GridView BuildGrid(short countryCode)
{
GridView nGrid = new GridView();
nGrid.ID = "gr_" + countryCode;
nGrid.SkinID = "rpSkin";
nGrid.AutoGenerateColumns = false;
nGrid.AllowPaging = false;
nGrid.AllowSorting = false;
nGrid.RowStyle.VerticalAlign = VerticalAlign.Top;
nGrid.EnableViewState = false;
var nField = new BoundField
{
HeaderText = "People",
DataField = "PeopleCount"
};
nGrid.Columns.Add(nField);
// more BoundFields of this type exist
// This is basically the GridViewHelper class that gets Row Totals
// Disabling this doesn't help, either
HelpGrid(nGrid);
nGrid.DataSource = Country.GetPeople(countryCode);
nGrid.DataBind();
return nGrid;
}
Эта страница работает безотказно в Opera и Firefox. Internet Explorer 8 показывает мне экран «не отображать веб-страницу».
Любые идеи?
Может помочь включить ваш код aspx, а также –
Просто простой placeholder ... Обновлено сообщение, чтобы включить его. – Jim
Вам нужно определить, какой HTML сначала нарушает IE, тогда вы можете сузить, какие элементы ASP.NET вызывают его. –