我仍在学习 .net MVC,也许没有正确搜索我需要找到解决方案的内容。
简而言之,我在数据库中有一个表,其结构如下:
ID Category Subcategory FK
Run Code Online (Sandbox Code Playgroud)
所以每个类别可能会出现多次,每个子类别也是如此,这是该类别所独有的。
我想在视图中渲染一个菜单,如下所示:
Category 1
Subcategory 1a
Subcategory 1b
Subcategory 1c
Category 2
Subcategory 2a
Subcategory 2b
Run Code Online (Sandbox Code Playgroud)
等等。现在在控制器中我有:
var categories = db.Category
.Where(oa => oa.Category != "")
.GroupBy(oa => new { oa.Category, oa.Subcategory })
.Select(oa => oa.FirstOrDefault());
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何在视图中实现我想要实现的目标。我知道我必须以某种方式遍历列表,但我不确定如何。我知道它涉及以下内容:
@foreach (var item in Model)
{
<li>
<a id="@item.ID" href="#">@item.Category</a>
</li>
}
Run Code Online (Sandbox Code Playgroud)
但我只希望每个类别出现一次,然后需要所有子类别出现在父类别下。或者也许我需要更改控制器及其发送数据的方式?
我有一个非常基本的功能,我开始.我开始很简单code/Page.php:
public function createGreeting() {
return 'hi';
}
Run Code Online (Sandbox Code Playgroud)
在我的Page.ss模板中,我有变量:<% $createGreeting %>
然而,这正在扼杀页面.我检查了错误日志,它显示:
PHP message: PHP Warning: Director::protocolAndHost() lacks sufficient information - HTTP_HOST not set. in /usr/share/nginx/html/lungmap/framework/control/Director.php on line 488" while reading upstream, client: 31.210.102.114, server: 52.90.93.59, request: "GET / HTTP/1.0", upstream: "fastcgi://unix:/var/run/php/php5.6-fpm.sock:" 2017/06/12 12:34:50 [error] 1730#0: *6682 FastCGI sent in stderr: "PHP message: PHP Warning: Director::protocolAndHost() lacks sufficient information - HTTP_HOST not set. in /usr/share/nginx/html/lungmap/framework/control/Director.php on line 488
Run Code Online (Sandbox Code Playgroud)
知道是什么原因引起的吗?如果我删除该行Page.ss,页面加载完全正常.
我正在尝试用","拆分文件.这是一个CSV文件.
但是,一个"列"的值包含"/"和空格.而且它似乎对该列感到不满,并且在该列之后不会打印任何内容,而是移动到下一行.
我的代码很简单:
perl -lane '@values = split(",",$F[0]); print $values[0]."\t".$values[3];' basefile.txt > newfile.txt
Run Code Online (Sandbox Code Playgroud)
basefile.txt看起来像:
"1","text","abc // 123 /// some more text // text","filename1"
"2","text","abc // 123 /// some more text // text","filename2"
"3","text","abc // 123 /// some more text // text","filename3"
Run Code Online (Sandbox Code Playgroud)
我的newfile.txt应该有一个输出:
"1","filename1"
"2","filename2"
"3","filename3"
Run Code Online (Sandbox Code Playgroud)
相反,我得到:
"1",
"2",
"3",
Run Code Online (Sandbox Code Playgroud)
谢谢!