我有一个包含应该在视图中显示的字符串对象的List。但我有正确的输出问题。在列表中有单词,如电脑,屏幕,鼠标。现在它显示为ComputerScreenMouse
,并希望它显示为
Computer
Screen
Mouse
我在运行时检查了对象,并正确添加字符串,如
[0] Computer
[1] Screen
[2] Mouse
这是我使用的代码
@Html.DisplayFor(m => Model.MyParts, new { htmlAttributes = new { @class = "form-control " } })
我尝试了几个不同的东西与foeach循环但似乎没有任何作用。如果我使用@ Html.Raw并放入一个br标签,它会打印出如下列表:
ComputerScreenMouse
ComputerScreenMouse
ComputerScreenMouse
@foreach (var item in Model.MyParts)
{
@Html.Raw(Html.DisplayFor(m => Model.MyParts, new { htmlAttributes = new { @class = "form-control " } }) + "</br>")
}
模型看起来像这样。在视图中我使用@modelGlossary_mvc.Models.Parts
public class DoTestModel
{
public string Stuff{ get; set; }
public string OtherStuff { get; set; }
public List<Parts> Parts { get; set; }
}
public class Parts
{
public List<string> MyParts{ get; set; }
public List<string> SpareParts{ get; set; }
public int NumberOfParts { get; set; }
}
答案 0 :(得分:1)
x = -5:0.1:5;
subplot(3,3,[4 5 7 8])
plot(x,cos(x-2),x,sin(x),x,-x-0.5,x,0.1.*x+0.1)
ax = gca;
area = [-0.4 -0.4 0.25 0.25];
inlarge = subplot(3,3,3);
panpos = inlarge.Position;
delete(inlarge);
inlarge = zoomin(ax,area,panpos);
title(inlarge,'Zoom in')
/ #include <stdio.h>
#include <string.h>
#define BUF_LEN 30
void doThings(char *buffer)
{
char anotherBuffer[BUF_LEN];
int i;
for (i = 0; i <= BUF_LEN; i++)
{
char temp[2];
snprintf(temp, 2, "%s", buffer + i);
strcat(anotherBuffer, temp);
}
printf("%s\n", anotherBuffer);
}
int main()
{
char aString[BUF_LEN] = "1234567890123456789012345678901";
printf("%s\n", aString);
//This is doThings within main
int i;
for (i = 0; i <= BUF_LEN; i++)
{
char temp[2];
snprintf(temp, 2, "%s", aString + i);
printf("%s", temp);
}
printf("\n");
//Now execute doThings passing aString
doThings(aString);
return 0;
}
对Display(For)
属性来说并不理想。它们应保留用于专门的显示和编辑模板,或具有Editor(For)
属性的属性。
您的模型属性List<string>
是一个简单的字符串列表。
[Display]
保持简单,输出每个字符串(例如,在无序列表中):
MyParts
好的,但如果public List<string> MyParts{ get; set; }
属性是<ul>
@foreach(var part in Model.MyParts)
{
<li>@part</li>
}
</ul>
个对象的列表怎么办?这是MVC MyParts
/ PartModel
闪耀的地方。
<强> PartModel 强>
DisplayFor
查看模型
EditorFor
Razor查看
public class PartModel
{
public string Name { get; set; }
public int Quantity { get; set; }
}
PartModel的显示模板
// your view model
public class Parts
{
// now a list of PartModels not strings
public List<PartModel> MyParts{ get; set; }
public List<string> SpareParts{ get; set; }
public int NumberOfParts { get; set; }
}
此文件可位于多个位置。这取决于您在整个项目中需要分享的数量:
答案 1 :(得分:0)
取决于您在HTML中包装输出的方式取决于结果。你是在表格中使用它吗?因为我通常只对字段使用表单控件。
由于您的输出不是HTML,因此如果需要表单控件,则需要尝试此操作。
@foreach (var item in Model.MyParts)
{
@Html.DisplayFor(modelItem => item, new { htmlAttributes = new { @class = "form-control " } })
<br />
}
没有表单控件只显示列表:
@foreach (var item in Model.MyParts)
{
@Html.DisplayFor(modelItem => item )
<br />
}
根据您的HTML包装器的使用方式,您可能需要也可能不需要<br />