雖然@ Html.Actionlink()助手非常方便在.cshtml文件中構建<a>
元素,但是可以在C#字符串中構造它們,以便隨後在HTML輸出中正確渲染它們?如何在C#文本字符串中包含@Html.Actionlink?
例如,如果我給你一個字符串變量類似於以下值:
Book.ReadMore = "Click @Html.ActionLink(\"this link\", \"About\", \"Home\") to read more.";
然後我試圖通過我的.cshtml頁面來顯示它(字面文字加鏈接),使用代碼類似於:
<p>@Model.ReadMore</p>
所有我在瀏覽器中得到的是整個字符串完全按照我鍵入它,包括@Html ...等:
Click @Html.ActionLink("this link", "About", "Home") to read more.
現在,對於正確的SoC,我知道在C#代碼中包含HTML東西並不是最好的做法,但是在這種情況下是否有可能獲得適當的鏈接,而不是字符串本身?
編輯:更多信息 - 該字符串只是約20-30個字符串集合中的一個項目(在視圖中使用for loop
顯示)。只有少數這些項目需要鏈接(在每種情況下都不相同)。因爲,如上所述,我同意在模型代碼中使用Razor/HTML顯然不是一個好習慣,我試圖獲得一個簡單的方法(如果可能的話),這將使我可以靈活地在右側的某處建立鏈接放置,同時仍然產生MVC SoC的可維護性。
必須有一個「正確」的方式來做到這一點,這是簡單但可維護的。
[如何使用MVC 3 @ Html.ActionLink裏面的C#代碼](http:// stackoverflow。com/questions/8331041/how-to-use-mvc-3-html-actionlink-inside -c-sharp-code) –
上面的最高票數(不被接受)答案似乎有你在找什麼 –