带空格的模型项不能用作href。在MVC列表中

时间:2016-01-04 12:49:20

标签: c# asp.net-mvc

嗨,我是MVC的新人,所以请善待,如果我问傻话,请告诉我。

我想要的是什么:
在索引视图中我想有一列可用于打开列出的文档。(因为此列表与上传文档部分有关) 我已经使用了<a>标记。

我遇到的问题
我无法获得任何文档的全名(如果文档名称包含空格)。所以在这种情况下我无法提供href属性。

这是我的View外观。

 @foreach (var item in Model)
 {
    <tr>
       <td>
         @{
        var FilePath = Path.Combine(Server.MapPath(ViewBag.CommonFolderPath + ViewBag.UploadFolderName), **item.DocumentName**);
          }
         <a target="_blank" href=@FilePath> @Html.DisplayFor(modelItem => item.DocumentName)</a>
       </td>
    </tr>
}

注意:请注意,当文档名称包含空格时,我遇到item.DocumentName获取文档名称的问题(然后它只显示文档名称的第一个单词作为文档名称)。

使用@Html.DisplayFor(modelItem => item.DocumentName)时,它显示的名称没有任何问题。

1 个答案:

答案 0 :(得分:4)

尝试在href中包装""属性,以确保其中的任何空格不会干扰您生成的标记:

<a target="_blank" href="@FilePath">
    @Html.DisplayFor(modelItem => item.DocumentName)
</a>