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

ASP.NET Core MVC进程列表无法显示可点击进程名问题求助

问题:ActionLink无法显示实际进程名称

相关代码

ProcessController.cs

namespace MVCDemo.Controllers
{
    public class ProcessController : Controller
    {
        // GET Process
        public ViewResult List()
        {
            var processList = from p in Process.GetProcesses()
                              select p;
            ViewData.Model = processList.ToList();
            return View();
        }

        // GET Process/Details/5
        public ActionResult Details(int id)
        {
            var process = (from p in Process.GetProcesses()
                           where p.Id == id
                           select p).Single();
            return View(process);
        }
    }
}

Details.cshtml

@this.Model.ProcessName <br />
@this.Model.Id

当前List.cshtml(存在问题的版本)

<div>
    <h1>List</h1>
    <ul>
        @foreach (var process in this.Model)
        {
            <li> 
                @Html.ActionLink("process.ProcessName", "Details", new { id = process.Id })
            </li>
        }
    </ul> 
</div>

问题表现:列表每行仅显示字符串"process.ProcessName",而非实际进程名称。若直接输出@process.ProcessName能正确显示名称,但无法生成可点击链接。尝试写成@Html.ActionLink(@process.ProcessName, "Details", new { id = process.Id })时代码无法运行,需获取正确写法。


解决方案

问题核心是你将process.ProcessName用双引号包裹,导致它被当作字符串字面量输出。正确写法是直接传入变量,不需要加引号,也无需额外的@符号——因为@Html.ActionLink()内部已处于Razor代码上下文。

修改后的List.cshtml代码:

<div>
    <h1>List</h1>
    <ul>
        @foreach (var process in this.Model)
        {
            <li> 
                @Html.ActionLink(process.ProcessName, "Details", new { id = process.Id })
            </li>
        }
    </ul> 
</div>

说明

  • Html.ActionLink的第一个参数是链接显示文本,需传入实际变量值,而非字符串字面量。
  • 写"process.ProcessName"时,Razor会直接输出这个字符串,不会解析变量。
  • 在@Html.ActionLink()的括号内属于C#代码环境,直接写process.ProcessName即可,额外加@会引发语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 14:28:16