4

Asp.net mvc3 razor には次のものがあります。

Ajax.ActionLink("Hello world", "Hello", "Say", new RouteValueDictionary(new { word = "Hello" }),new AjaxOptions { HttpMethod = "GET", InsertionMode = InsertionMode.Replace, UpdateTargetId = "dynamic-container" })

それが生み出す

<a href="...." ...>Hello world</a>

私が手に入れたいのは

<a href="..." ...><my><html><content/></html></my></a>

標準テキストの代わりに挿入されるように "" を渡すにはどうすればよいですか?

4

4 に答える 4

9

解決策を見つけました

http://forums.asp.net/post/4517653.aspx

思ったほどエレガントではありませんが、やるべきです。

誰かもっと良いアイデアがありますか?

于 2012-05-18T10:18:03.320 に答える
0

ヘルパー メソッドを使用する @4rchie ポインティングのソリューションが最適なソリューションです。しかし、data-* 属性を使用してデータをリンクに挿入し、jquery を使用して残りの作業を行う別の方法があります。

例えば:

<div class="list-group">
@foreach (var item in Model.Things)
{
   @Ajax.ActionLink(item.Name, "actionName", "controllerName", new { Id = item.Id }, new AjaxOptions { HttpMethod = "GET", InsertionMode = InsertionMode.Replace, UpdateTargetId = "areaPanel", OnComplete = "" }, new { @class = "list-group-item", data_frequency = item.frequency})

}
</div>

Jクエリコード:

jQuery(document).ready(function () {
$("[data-frequency]").each(function () {
        var linkText = $(this).html();
        var attr = $(this).attr("data-frequency");
        $(this).html("<span class ='badge'>" + attr + "</span>" + linkText);
})
}

結果はhttp://getbootstrap.com/components/#list-group-badgesのようになります

于 2015-10-17T19:59:56.077 に答える
0

コード:

Ajax.ActionLink("Hello world", "Hello", "Say", new RouteValueDictionary(new { word = "Hello" }),new AjaxOptions { HttpMethod = "GET", InsertionMode = InsertionMode.Replace, UpdateTargetId = "dynamic-container" })

提供されたリンクを使用すると、エラーが発生します。リンクは次のようになります。

.../Say/Hello?Count=1&Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D

これは BAAADDDDD です....問題は、これが間違ったオーバーロードを使用していることです。それ以外の:

new RouteValueDictionary(new { word = "Hello" })

どこにあるべきか:

 new { word = "Hello" }

以前の回答のリンクからのコードが魅力のように機能する場合-誰か、誰にとっても役立つことを願っています

于 2012-05-18T19:20:56.743 に答える