尝试在Page_Init方法中添加页面cs文件中的新标签项,其中包含Iframe模式下的PXSmartPanel。
最初我刚刚创建了空白标签
for (int i=0;i<3;i++)
{
PXTabItem tabItem = new PXTabItem();
tabItem.Key = "myKey"
tabItem.Text = "myTab" + i;
tabItem.Visible = true;
this.tab.Items.Add(tabItem);
PXSmartPanel smartPanel = new PXSmartPanel();
smartPanel.RenderIFrame = true;
smartPanel.InnerPageUrl = "thispage" + i;
..... {other smartpanel properties}
tabitem.TemplateContainer.Controls.Add(smartPanel);
}
这会在我的页面上创建标签,并在Chrome中正常工作/浏览,但在Firefox中,无论上面的smartPanel中设置的样式如何,呈现的iframe样式始终为150px。
尝试添加以下内容
smartPanel.height = new Unit(100, UnitType.Percentage);
smartPanel.Style["height"] = "100%";
尝试甚至强制说600px的特定大小。
作为辅助测试,我直接在我的页面中添加了标签项,智能面板以及在Chrome和Firefox中正确呈现的内容。
我还试图创建一个“虚拟”/“模板”并使用tabitem.CopyFrom()方法进行设置。这也在chrome中正确呈现,但不是firefox。
是否有人直接从代码隐藏文件中添加了标签项,并对此处缺少的属性有任何提示?