我需要知道如何在用户控件中嵌套转发器.事情的html方面很好,这是我需要帮助的绑定和代码.我只能找到使用sql数据源的例子,这实际上并没有帮助.
我的中继器看起来像这样:
<asp:Panel ID="pnlDiscipline" runat="server" CssClass="">
<asp:Repeater ID="rptDiscipline" runat="server">
<ItemTemplate>
<h4><%#Eval("Discipline")%></h4>
<ul>
<asp:Repeater ID="rptPrograms" runat="server">
<ItemTemplate>
<li><asp:HyperLink runat="server" Text='<%#Eval("Name") %>' NavigateUrl='<%#Eval("Link") %>'></asp:HyperLink> <%#Eval ("Notation") %></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
我需要做的是希望合理清楚 - h4规则应该出现一次,属于该学科的所有条目列在下面,然后是下一个h4,然后是相应的列表,下一个h4,依此类推.
数据源是在代码隐藏中创建的数据视图,其中每一行都有"名称","链接","注释"和"纪律".我已将数据视图绑定到最外层的转发器,并且它按预期运行 - 列出了规则名称对于每个条目,但在内部转发器中不显示任何数据.
我该如何开展这项工作?
编辑:只是为了澄清,我在代码隐藏中有一个数据表.该表中的每一行都是一个项目,每个项目都属于一个学科.我想使用外部中继器列出学科,内部列出每个学科下分组的项目.像这样:
<h4>DISCIPLINE 1</h4>
<ul>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
<h4>DISCIPLINE 2</h4>
<ul>
<li>Item</li>
<li>Item</li>
</ul>
<h4>DISCIPLINE 3</h4>
<ul>
<li>Item</li>
<li>Item</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
目前,将数据表绑定到外部转发器给出了这个(示例使用上面的数据):
<h4>DISCIPLINE 1</h4>
<h4>DISCIPLINE 1</h4>
<h4>DISCIPLINE 1</h4>
<h4>DISCIPLINE 2</h4>
<h4>DISCIPLINE 2</h4>
<h4>DISCIPLINE 3</h4>
<h4>DISCIPLINE 3</h4>
Run Code Online (Sandbox Code Playgroud)
我按照建议在外部转发器上使用了OnItemDataBound,作为测试用例,我可以访问数据:
protected void rptDiscipline_ItemDataBound(Object Sender, RepeaterItemEventArgs e)
{ …Run Code Online (Sandbox Code Playgroud) 我使用XPath来排除菜单中的某些节点.我想扩展它以排除在数组中标识的节点.
这可以排除菜单中所有节点,其id为2905,其类型不是内容:
XmlNodeList nextLevelNodeList = currentNode
.SelectNodes(string
.Format("
Menu[not(MenuId = 2905)]
/Item[
ItemLevel = {0}
and
ItemType != 'Javascript'
] |
Menu[MenuId = 2905]
/Item[
ItemLevel = {0}
and
ItemType = 'content'
]", iLevel));
Run Code Online (Sandbox Code Playgroud)
我想要的是将menuId和其他几个存储在一个数组中,然后在string.Format函数中引用该数组
就像是:
int[] excludeSubmenus = {2905, 323};
XmlNodeList nextLevelNodeList = currentNode
.SelectNodes(string
.Format("
Menu[not(MenuId in excludesubMenus)]
/Item[
ItemLevel={0}
and
ItemType != 'Javascript'
] |
Menu[MenuId in excludeSubMenus]
/Item[
ItemLevel={0}
and
ItemType='content'
]", iLevel));
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激!
塔内森
编辑 - 包括示例xml
<Item>
<ItemId>322</ItemId>
<ItemType>Submenu</ItemType>
<ItemLevel>2</ItemLevel>
<Menu>
<MenuId>322</MenuId>
<MenuLevel>2</MenuLevel>
<Item> …Run Code Online (Sandbox Code Playgroud) 如何创建新分支以包含待处理的拉取请求,同时在推送新 PR 时不会产生问题?例如,我不希望第一个 PR 的更改在合并第二个 PR 时产生冲突。
考虑从第一个功能分支分支或将第一个功能合并到第二个分支,但不确定哪个是更好的选择。
我想使用 Browserstack 从 Nightwatch 测试中捕获全高屏幕截图 - 我可以捕获可见屏幕,但不能捕获整个文档。
我试过这个:
browser.execute(function () {
// get document dimensions
}, [], function (result) {
// browser.resizeWindow(to value sent as result)
browser.saveScreenshot('filename.png');
});
Run Code Online (Sandbox Code Playgroud)
但是,虽然生成的图像具有正确的宽度,但高度仅限于(我认为)在 Browserstack 中打开的浏览器的分辨率。
有可能实现这一目标吗?
我刚刚安装了Nodejs和Grunt,主要是为了在模拟不同的UI想法时使用Grunt的livereload.无需担心启动服务器并查看index.html,但获取所有css和js资源的403错误.
每当我启动/ livereload服务器时也会看到下面的错误.任何建议都会很棒.
错误:
D:\Grunt>grunt server
Running "express:all" (express) task
Running "express-server:all" (express-server) task
Web server started on port:9000, hostname: 0.0.0.0 [pid: 3624]
Running "open:all" (open) task
Running "watch" task
Waiting...Error: Forbidden
at SendStream.error (D:\Grunt\node_modules\grunt-express\node_modules\connec
t\node_modules\send\lib\send.js:145:16)
at SendStream.pipe (D:\Grunt\node_modules\grunt-express\node_modules\connect
\node_modules\send\lib\send.js:310:52)
at Object.static (D:\Grunt\node_modules\grunt-express\node_modules\connect\l
ib\middleware\static.js:84:8)
at next (D:\Grunt\node_modules\grunt-express\node_modules\connect\lib\proto.
js:190:15)
at Object.handle (D:\Grunt\node_modules\grunt-express\node_modules\connect-l
ivereload\index.js:53:14)
at next (D:\Grunt\node_modules\grunt-express\node_modules\connect\lib\proto.
js:190:15)
at Function.app.handle (D:\Grunt\node_modules\grunt-express\node_modules\con
nect\lib\proto.js:198:3)
at Server.app (D:\Grunt\node_modules\grunt-express\node_modules\connect\lib\
connect.js:65:37)
at Server.EventEmitter.emit (events.js:98:17)
at HTTPParser.parser.onIncoming (http.js:2108:12)
OK
Run Code Online (Sandbox Code Playgroud)
的package.json:
{
"name": "Example",
"version": "0.0.1",
"private": true,
"devDependencies": …Run Code Online (Sandbox Code Playgroud) 试图让_.uniq()处理以下结构:
[
{'x' : 1, 'y': 2},
{'x' : 1, 'y': 2},
{'x' : 2, 'y': 3},
{'x' : 2, 'y': 4},
{'x' : 3, 'y': 4}
]
Run Code Online (Sandbox Code Playgroud)
结果应该是:
[
{'x' : 1, 'y': 2},
{'x' : 2, 'y': 3},
{'x' : 2, 'y': 4},
{'x' : 3, 'y': 4}
]
Run Code Online (Sandbox Code Playgroud)
即删除重复的项目.我想避免使用stringify,因为我只需要将每个解析为JSON对象.
任何帮助,将不胜感激.
编辑:在下面给马特的解决方案,我想我想错了 - 这不起作用.如果我记录a和b的值,我明白了
_.uniq($scope.validNotes, function (a, b) {
console.log(a, b);
return a.x === b.x && a.y === b.y;
});
Object {x: 2, y: 3} 0
Object {x: …Run Code Online (Sandbox Code Playgroud) 使用简单的Angular应用程序,其中部分功能包括从远程服务器获取一组图像.然后我用它ng-repeat来渲染这些,但是由于浏览器找不到,我在初始页面加载时得到了404<img src="myurl.com{{img.url}}"/>
试图与ng-cloak和ng-show,但这些不停止浏览器寻找的形象,他们只是隐藏容器.
任何帮助都是极好的...
这是之前发布的问题的扩展.我试图以递归方式构建一个字符串.我需要更改下面的函数来执行此操作 - 函数的每次递归都会生成所需的字符串,但我需要将它们连接在一起并返回整个字符串.'related'作为一个空字符串传递给函数,我想我使用string.Format的方式会将每个递归附加到'相关'字符串?显然不是.
不知道怎么......
private string getRelatedNews(Taxonomy taxData, string related, string contentTitle)
{
foreach (TaxonomyItemData item in taxData.TaxonomyItems)
{
if (taxData.TaxonomyName.Equals(contentTitle) && taxData.TaxonomyItemCount != 0)
{
related = string.Format("{0}<li><a href='{1}'\">{2}</a></li>", related, item.Link, item.Name);
}
}
// Show all its sub categories
foreach (TaxonomyData cat in taxData.Taxonomy)
{
getRelatedNews(cat, related, contentTitle);
}
return(related);
}
Run Code Online (Sandbox Code Playgroud)