簡體   English   中英

單擊動作鏈接后,如何參考其鏈接文本?

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

說我有一個像這樣開始的表:

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

這將我帶到該特定項目的視圖。 進入該單獨的.cshtml文件后,如何引用該ActionLink中顯示的原始“ item.Name”字符串?

*解決方案編輯*

解決方案最終看起來像這樣。

ActionLink:

@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 當您單擊鏈接時,您將導航到傳遞someId當前模型對象的id的操作。 然后,您可能應該在存儲中按其id找到一個對象。 它將具有用作ActionLink參數的.Name屬性。

但是,如果您只需要在ActionLink用作第一個參數的完全相同的字符串(可以是任何字符串),則應在路由值中將其復制。 您的Things動作不僅應接受someId參數,還應接受此字符串。 之后,您應該通過ModelViewBag / ViewDictionary將此字符串傳遞給視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM