2011-08-01 15 views
5

:モデルからRazor/MVC3で@Html.ActionLinkを使用して生のテキストを取得するには?次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を試しましたが、行っていません。

提案がありますか?

+1

をあなたのビューではなくあなたのモデルのhtml?下線を引く必要がある場合は、スタイルまたはクラスattibuteを追加します。 – Phil

+0

モデルから戻ってくるデータは、キーワードに基づいてフォーマットされます。したがって、そのレベルで書式設定が必要です。 – ElHaix

答えて

13

まだヘルパーを使用してリンクテキスト用の生のHTMLを使用してアクションリンクを作成する場合は、Html.ActionLinkを使用できるとは思われません。しかし、this stackoverflow questionへの回答では、これを行うヘルパーの作成について説明しています。

私はかかわらず、手動でリンクHTMLを書き、Html.ActionLinkを作成していたURLを作成するUrl.Actionヘルパーを使用します。

<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> 
+0

優れた答え+1。私はウェブ上で非ヘルパーベースのソリューションを探していましたが、すべて私はヘルパーベースのソリューションを得ていました。あなたは私の一日を作った!歓声:) –

0

MVCHtmlString.Createトリックを行う必要があります。

0

以下のアクションリンクを使用すると、モデルにhtmlを渡す必要はありません。 cssクラスまたはインラインスタイルでhrefがどのように装飾されるかを決定します。

@Html.ActionLink(Model.dsResults.Tables[0].Rows[i]["title"], "ItemLinkClick", "Controller", new { @class = "underline", style="text-decoration: underline" }, null) 
+0

装飾は文字列全体ではなく、一部だけであるので、これはできません。 – ElHaix

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> 

他のパスを取るべきである場合には、カミソリのヘルパーは、あなたを助けることに注意してくださいされていますが、あなたはまだHTMLの方法で物事を行うことができます。

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> 
関連する問題