为ASP MVC中的每个链接分配路径

时间:2016-03-21 23:15:12

标签: asp.net-mvc

我有多个pdf文档,我必须在视图中显示。我的代码为所有错误的链接打开相同的文档。

在我的控制器中:

public ActionResult Docs()
{
    var docModel = this._documentBuilder.Build(this.StateData);
    foreach (var doc in docModel.OldEstimateFiles)
    {
        return this.File(doc.PdfUrl, "application/pdf");
    }
    return null;
}

并在视图中:

foreach (var menuItem in Model.OldEstimateFiles)
{
    <ul >
        <li>
            @using (Html.Anchor(new ststyle { URL = "/DocumentEstimate/Docs", Target = "_blank", Text = menuItem.Label }))
            {
            }
        </li>
    </ul>
}

我的代码知道oldestimatefiles是一个列表

有什么问题

1 个答案:

答案 0 :(得分:0)

我在控制器中编辑了我的动作以获取ID。

public ActionResult Docs(string id)
        {
            var docModel = this._documentBuilder.Build(this.StateData);
        return docModel.OldEstimateFiles.Any() ? this.File(docModel.OldEstimateFiles.Find(p => p.ID == id).PdfUrl, "application/pdf") : null;
        }

我在routeConfig文件中添加了一个条目,其中包含了文档ID的URL,在视图中我编辑了我的链接:

 @using (Html.Anchor(new ststyle
              {
                  URL = "/DocumentEstimate/EstimateDocs/" + menuItem.ID,
                  Id = menuItem.ID

它解决了这个问题。