【发布时间】:2012-05-11 16:43:12
【问题描述】:
IEnumerable<Addresses> AddressSet1=myServices.GetAddresses(LocationId1);
IEnumerable<Addresses> AddressSet2=myServices.GetAddresses(LocationId2);
我想把上面的两个AddressSets结合起来
我试过IEnumerable<Addresses> AllAddresses=AddressSet1.Concat(AddressSet2)
但在此之后,当我尝试通过我的剃刀视图访问 IEnumerable AllAddresses 中的项目时
@if(!myHelper.IsNullorEmpty(model.AllAddresses )
{
@Html.EditorFor(model => model.AllAddresses )
}
我收到错误 - 路径中有非法字符。有什么建议可以确定此错误的原因吗?
如果我试图在没有 Concat 的情况下运行我的页面,我可以看到页面上显示的 AddressSet1 /AddressSet2 中的记录。但是当我尝试将两者结合起来形成 I Enumerable AllAddresses 时,它会抛出错误,请帮助
下面粘贴的是我的编辑器模板
@model MyServiceRole.Models.Addresses
@{
ViewBag.Title = "All addresses Items";
}
<table>
<tr>
<td>
<span>Index</span>
</td>
<td>
</tr>
<tr>
<td>Address XID</td>
<td>
@Html.EditorFor(model => model.AddressID)
</td>
</tr>
<tr>
<td>Title</td>
<td>
@Html.EditorFor(model => model.Title)
</td>
</tr>
<tr>
<td>Description</td>
<td>
@Html.EditorFor(model => model.Description)
</td>
</tr>
<tr>
<td>Image URL</td>
<td>
@Html.EditorFor(model => model.Photo.URL)
</td>
</tr>
</table>
【问题讨论】:
-
问题可能出在您的编辑器模板中。你能显示它的标记吗?
-
您没有提出问题,请尝试再次阅读您的帖子。但我可以肯定地说,路径错误中的非法参数与 Concat 调用无关。
-
您的 IEnumerable 泛型使用 Address 类,但您的编辑器模板使用 AddressRecords 类型的类。这是一个错字吗?你是说如果你只是设置 AllAddresses = AddressSet1 而不是 concat 调用它可以工作吗?
-
是的,如果我设置 set AllAddresses = AddressSet1,那么它可以工作,但我需要将两者结合起来
-
您的 .cshtml 文件中是否有 @using System.Linq。听起来那是你的问题。我认为您错误地使用了 String.Concat
标签: asp.net-mvc-3 c#-4.0 razor