鉴于以下Html.ActionLink:
@Html.ActionLink(Model.dsResults.Tables[0].Rows[i]["title"].ToString(), "ItemLinkClick",
new { itemListID = @Model.dsResults.Tables[0].Rows[i]["ItemListID"], itemPosNum = i+1 }, ...
模型中的数据在标题字段中包含HTML。但是,我无法显示HTML编码的值。即。带下划线的文字显示在其周围<u>....</u>
。
我在ActionLink的文本部分尝试了Html.Raw,但没有去。
有什么建议吗?
答案 0 :(得分:13)
如果您仍想使用帮助程序为链接文本创建原始HTML的操作链接,那么我认为您不能使用Html.ActionLink
。但是,this stackoverflow question的答案描述了创建一个执行此操作的帮助程序。
我会手动编写链接HTML并使用Url.Action
帮助程序创建Html.ActionLink
将创建的URL:
<a href="@Url.Action("ItemLinkClick", new { itemListID = @Model.dsResults.Tables[0].Rows[i]["ItemListID"], itemPosNum = i+1 })">
@Html.Raw(Model.dsResults.Tables[0].Rows[i]["title"].ToString())
</a>
答案 1 :(得分:0)
MVCHtmlString.Create
应该可以解决问题。
答案 2 :(得分:0)
使用下面的actionlink,您无需在模型中传递html。让css类或内联样式确定href的装饰方式。
@Html.ActionLink(Model.dsResults.Tables[0].Rows[i]["title"], "ItemLinkClick", "Controller", new { @class = "underline", style="text-decoration: underline" }, null)
答案 3 :(得分:0)
那些你应该走另一条道路的案例
@{
string title = Model.dsResults.Tables[0].Rows[i]["title"].ToString(),
aHref = String.Format("/ItemLinkClick/itemListID={0}&itemPosNum={1}...",
Model.dsResults.Tables[0].Rows[i]["ItemListID"],
i+1);
}
<a href="@aHref" class="whatever">@Html.Raw(title)</a>
请记住,Razor助手帮助您,但您仍然可以用HTML方式做事。
答案 4 :(得分:0)
你也可以使用它:
<a class='btn btn-link'
href='/Mycontroler/MyAction/" + item.ID + "'
data-ajax='true'
data-ajax-method='Get'
data-ajax-mode='InsertionMode.Replace'
data-ajax-update='#Mymodal'>My Comments</a>