单击操作链接后,如何返回其链接文本?

After clicking on an actionlink, how do I reference back to its linkText?

假设我有一个 table 开头是这样的:

@foreach (var item in Model)
{
    <tr>
        <td>
            @Html.ActionLink(item.Name, "Things", new { someId = item.Id})
        </td>

它会将我带到该特定项目的视图。一旦我进入那个单独的 .cshtml 文件,我如何才能引用回出现在这个 ActionLink 中的原始 "item.Name" 字符串?

* 解决方案编辑 *

解决方案最终看起来像这样。

动作链接:

@Html.ActionLink(item.Name, "Things", new { someId = item.Id, someName = item.Name})

行动:

public ActionResult Things(Guid? someId, string someName)
...
ViewBag.currentName = someName;

其他观点:

<h2>@ViewBag.currentName</h2>

您可以添加一个带有项目名称的额外参数

@Html.ActionLink(item.Name, "Things", new { someId = item.Id, name = item.Name})

您还需要为这种方法修改您的控制器和模型。

我认为您不必参考第一个 ActionLink 参数。您可能感兴趣的是这个视图的 Model 对象。当您单击 link 时,您将导航到传递当前模型对象的 someId - id 的操作。那么你可能应该在你的存储中通过它的 id 找到一个对象。它将有 .Name 属性 用作 ActionLink 参数。

但是,如果您只需要与在 ActionLink 中用作第一个参数的字符串完全相同,它可以是任何字符串,您应该在路由值中复制它。您的 Things 操作不仅应该接受 someId 参数,还应该接受此字符串。在您应该通过 ModelViewBag/ViewDictionary 将此字符串传递到您的视图之后。