以下代码没有错误,但它不起作用,这属于一个动作名称GetAction,我想要一个链接转到动作ViewDetails(String id),所有这些都在HomeController中: / p>
String getaction = "";
getaction += "<a href=\"@Url.Action(\"ViewDetails\", \"Home\", new { id = \"ID01\"}, null)\">Click here</a>";
ViewBag.View = getaction;
return View();
GetAction视图中的:@ Html.Raw(ViewBag.View)
我可以看到链接名称&#34;点击此处&#34;,但是当我点击它时,错误:
HTTP错误404.0 - 未找到 您要查找的资源已被删除,名称已更改或暂时不可用。
答案 0 :(得分:1)
你不能像这样嵌入剃刀代码,它会像文字一样对待它。您也可以立即评估URL,它可以执行与视图相同的操作。
String getaction = "";
getaction += "<a href=\""+UrlHelper.Action("ViewDetails", "Home", new { id = "ID01"}, null)+"\">Click here</a>";
ViewBag.View = getaction;
return View();
答案 1 :(得分:0)
Html.Raw无法按预期呈现字符串。允许输出包含html元素的文本。你可以使用以下代码
var url = Url.Action("ViewDetails", "Home", new { id = "ID01"}, null);
var getaction = new TagBuilder("a");
getaction.MergeAttribute("href", url);
getaction.SetInnerText("Click here");
ViewBag.View = getaction;