You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法在EditorTemplate中使用ActionLink的技术问题

解决ASP.NET MVC EditorTemplate中无法使用ActionLink的问题

嘿,我看到你在EditorTemplate里使用ActionLink时遇到了问题,核心问题出在ActionLink的参数使用错误上——你把lambda表达式m => m.Name当成了链接文本参数,但实际上这个重载并不存在,导致代码无法正常工作。

错误原因分析

Html.ActionLink的第一个参数应该是显示在页面上的链接文本,而不是表达式。你可能混淆了它和其他强类型辅助方法(比如Html.DisplayFor)的用法。

修正后的代码

把ActionLink的第一个参数换成直接引用Model.Name,同时确保路由参数正确传递,修正后的完整代码如下:

@model ContractorScopingDocumentSite.ViewModels.UploadInitialFileVM
@using System.Web.Mvc.Html;
@using System.Web.Mvc.Ajax

@Html.ActionLink(Model.Name, "Download", "ScopingDocument", new { docID = Model.DocID, fileName = Model.Name }, null)

<a class="btn btn-sm btn-danger delete-event">Delete <span class="glyphicon glyphicon-trash"></span></a>
@Html.HiddenFor(m => m.Name)
@Html.HiddenFor(m => m.Size)
@Html.HiddenFor(m => m.Extension)
@Html.HiddenFor(m => m.DocID)

额外注意事项

  • 确保你的EditorTemplate放在正确的位置:~/Views/Shared/EditorTemplates/UploadInitialFileVM.cshtml(或者对应控制器的EditorTemplates文件夹下),这样MVC才能正确找到并渲染它。
  • 如果你需要生成带Ajax特性的链接,记得使用Ajax.ActionLink,并确保已经引入了jQuery Unobtrusive Ajax脚本。

内容的提问来源于stack exchange,提问作者Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:23:18