- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试在我的 ajax tabcontainer 控件中克隆模板面板时,我遇到了一个有趣的问题。
我的想法是,我在第一个选项卡上有一个自定义控件,其中列出了一些内容,要添加新内容,您可以单击自定义控件上的新按钮,这会在包含 tabcontainer 的控件/页面中引发一个事件.该控件/页面然后开始克隆隐藏的选项卡面板并将克隆添加到选项卡容器。
使用此标记,我可以从第一个选项卡(包含列表)和任何后续选项卡(由准备克隆的隐藏选项卡面板模板化)获得我需要的内容...
<asp:TabContainer ID="TabContainer1" runat="server">
<asp:TabPanel ID="ui_pnl1" HeaderText="My Panel" runat="server">
<ContentTemplate>
<cc1:myListOfThings ID="list" runat="server" OnMyEvent="CreateTabFromTemplate" />
</ContentTemplate>
</asp:TabPanel>
<asp:TabPanel ID="TemplatePanel" runat="server" Visible="false">
<HeaderTemplate>
<span>Hello World</span><asp:LinkButton ID="ui_btnRemove" runat="server" Text="x" />
</HeaderTemplate>
<ContentTemplate>
Some content for my panel
</ContentTemplate>
</asp:TabPanel>
</asp:TabContainer>
好的,现在让我们假设在我的自定义控件的第一个面板上,我有一个引发“MyEvent”事件的按钮,该事件又调用方法“CreateTabFromTemplate”。
现在我要做的是复制隐藏面板“TemplatePanel”并将其添加到选项卡容器中。
在我后面的代码中,将新选项卡面板添加到我的选项卡容器的方法代码是这样的......
protected void CreateTabFromTemplate(object sender, EventArgs e)
{
// create a new tab panel
TabPanel newPanel = new TabPanel();
// instantiate the hidden content template from the hidden note panel in the new panel
ui_tpNoteCreator.ContentTemplate.InstantiateIn(newPanel);
// add the panel to the available tabs and select it
TabContainer1.Tabs.Add(newPanel);
TabContainer1.ActiveTab = newPanel;
}
到目前为止一切看起来都不错......但我错过了一些东西......我还没有模板化新的选项卡面板标题......看来我所能做的就是设置文本。
以下示例:http://forums.asp.net/t/1108611.aspx/1我可以做我想做的事,但我不想编写定义我的 header 模板的类我想实例化我的标记版本的实例并将该实例传递给我的新面板。
我不相信这可以完成......这是控件的错误还是我错过了什么?!?!
有什么想法吗?
最佳答案
原来我走错了路......
本质上,分配模板和数据绑定(bind)过程之间存在差异,它仍然不完美,因为我试图将数据传递到我的选项卡模板,但这是基本原则......
标记:
<asp:TabContainer ID="TabContainer1" runat="server">
<asp:TabPanel ID="ui_pnl1" HeaderText="My Panel" runat="server">
<ContentTemplate>
<cc1:myListOfThings ID="list" runat="server" OnMyEvent="CreateTabFromTemplate" />
</ContentTemplate>
</asp:TabPanel>
<asp:TabPanel ID="TemplatePanel" runat="server" Visible="false">
<HeaderTemplate>
<span>Hello World</span><asp:LinkButton ID="ui_btnRemove" runat="server" Text="x" />
</HeaderTemplate>
<ContentTemplate>
Some content for my panel
</ContentTemplate>
</asp:TabPanel>
</asp:TabContainer>
代码隐藏:
protected void CreateTabFromTemplate(object sender, EventArgs e)
{
// create a new tab panel
TabPanel newPanel = new TabPanel();
newPanel.HeaderTemplate = TemplatePanel.HeaderTemplate;
newPanel.ContentTemplate = TemplatePanel.ContentTemplate;
// add the panel to the available tabs and select it
TabContainer1.Tabs.Add(newPanel);
TabContainer1.ActiveTab = newPanel;
}
protected void TabContainer_DataBinding(object sender, EventArgs e)
{
foreach(TabPanel panel in TabContainer.Tabs)
{
//identify if this is the correct tab
if(correctTab)
{
// this will find a control anywhere on the panel (eg in both header and content templates)
Label label = panel.FindControl("ControlID") as Label;
label.Text = "Some Business Object Value";
}
}
}
关于c# - 克隆 AJAX TabPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5914779/
我的应用程序的布局由一个 TapPanel 组成,它包含另一个 TabPanel。我想让两个 TabPanel 看起来不同。按照关于应用样式的 GWT 教程,我执行了以下操作: TabPanel in
我希望当我启动应用程序时,选项卡面板 tab2 = 已停用, 一旦我单击第一个选项卡面板 tab1 中的按钮,就会被激活, 我尝试过使用 Shinyjs 和 CSS 属性,但我做不到。 感谢您的帮助
我是shiny的新手.我想从文件上传数据集并将其显示在 tabPanel 中.下一步是绘制数据集并在另一个 tabPanel 中显示该图。 .但是我发现当tabPanels的顺序改了,剧情没显示。 如
我正在尝试在我的“主页”tabPanel 上放置一个指向我应用程序的所有其他 tabPanel 的链接。 思路如下: ui = navbarPage("", tabPanel("ho
如何在 GWT 中的 UiBinder 中定义 TabPanel。 TabPanel 和 TabLayoutPanel 有什么区别。在哪里可以找到有关 TabPanel uibinder 参数的其他信
嗨,我正在寻找一种提交包含多个选项卡式表单的表单的方法。用户必须能够通过 POST 一次提交从所有选项卡提交全部数据。主要问题是数据不会提交,除非它被明确呈现/打开,并且在提交时不包括其他未呈现的选项
我正在使用 Shiny 的 R 网络应用程序,该应用程序由主面板左侧的侧栏面板(带有 2 个 tabspanel)和下方的另一个侧栏面板组成。 我想为第一个主面板保留底部侧边栏面板,但为第二个主面板将
我目前正在使用 GXT 3.1.1 显示带有两个选项卡的 TabPanel。第二个选项卡包含 VerticalLayoutContainer 内的 Grid。我的问题是网格的标题行未显示。当我颠倒选项
有什么方法可以禁用 Extjs4 选项卡面板上的所有子项,而不循环它们。 我的代码: var myPanel = new Ext.TabPanel({ region: 'east',
我正在尝试向 TabPanel 添加自定义图标,但当我这样做时,它只显示一个带圆 Angular 的黑框。 我的 CSS 看起来像这样:http://pastebin.org/447682 url 中
我应该如何操作 TabPanel 内的元素? 例如,在第一个选项卡上我有两个项目 - 这些是图表。但是,第二个项目与第一个项目的底部对齐(折线图)。如何将右侧的第二个项目(折线图)与左侧的第一个项目对
我已经开始了一个 sencha touch 项目(我第一次真正接触 JS),但恐怕我已经贪多嚼不烂了.. 我已经创建了大部分应用程序,但在尝试将嵌套列表放入选项卡面板时遇到问题。我收到此错误: Unc
此控件有一个属性 Enabled,其行为与 Visible 的行为完全相同,即 ?.Enabled = false 隐藏该控件。 我需要能够保持所有选项卡可见,但有些选项卡在代码控制下禁用。 关于如何
使用 navbarPage我想要一些 tabPanels右对齐,而其余的 tabPanels和 navbarMenus左对齐: 所以,而不是这个 library(shiny) ui = tag
我正在使用 Seam 2.1.2 和 RichFaces 3.3.2.SR1。
使用 ui <- navbarPage("mytitle", position = "fixed-top", tabPanel("tab1", "long
我为我 Shiny 的应用程序构建了以下模板。 ##ui.R shinyUI(navbarPage("My Application", tabPanel
我在一个区域中有一个带有 TreePanel 的面板布局。用户单击树中的一个节点,TabPanel 应显示在另一个区域,其中包含该树节点的信息、编辑工具等。 我有一个带有树面板和触发的 on('cli
我在 smartGWT 中创建了一个 tabPanel,附上截图我正在尝试增加我的选项卡标题宽度或使我的标题名称垂直放置使“公司信息”和“关系”的名称可以在一行中可见 我用过这个小部件
我有一个 tabpanel,它是表单的一部分(输入字段位于不同的选项卡上)。如果表单包含无效字段,即使它们不在当前选项卡上,我也需要在提交时通知用户。我认为最好的方法是更改标签颜色。 问题是如何在
我是一名优秀的程序员,十分优秀!