2016-04-27 3 views
0

私はビュー内の以下のかみそりの構文を持っていますカミソリ構文

パスワード:パスワードを使用します(大文字と小文字を区別)私は、次のテキストを持ってRESXファイルで

(@Html.ActionLink(SQPStrings.ForgotPassword, "ResetPassword", "User", new { Area = "Authentication" }, new { })) 

(ここにアクションリンクを挿入してください)

私は正しい方法を手伝ってくれますか?私は、ビュー内でString.Formatを実行し、パラメータを追加する必要があることを知っていますが、どのようにするかはわかりません。

答えて

1

あなたはRESXファイルの文字列値にstring.Formatのプレースホルダを定義することができます。

Password: use your password (case sensitive) ({0})

、その後、カミソリビューで翻訳された文字列に値をフォーマットします。 Html.Rawまたはそれに含まれる<a href=".."\>で結果の文字列をエスケープします。

var actionLink = Html.ActionLink("Link name" , "ResetPassword", "User", new { Area = "Authentication" }, new { })); 
var resetDisplay = string.Format(SQPStrings.ForgotPassword, actionLink); 
@Html.Raw(resetDisplay) 
1

あなたはこのようなプレースホルダ{0}で「ここにActionLinkのを挿入」の部分を置き換えることでの.resxファイル内のテキストを変更することができます:あなたはとの組み合わせでstring.Format()を使用する必要がありますビューで

<data name="ForgotPassword" xml:space="preserve"> 
    <value>Password: use your password (case sensitive) ({0})</value> 
</data> 

をこのようHtml.Row()ヘルパー:linkがあなたのリンクに文字列名です

@Html.Raw(string.Format(SQPStrings.ForgotPassword, Html.ActionLink(link, "ResetPassword", "User", new { Area = "Authentication" }, new { })))) 

+0

これは素晴らしい作品です。ありがとうございます。私は、すべてをプレースホルダに入れる必要があると仮定していましたが、うまくいかなかったのです。 – JanVanHaudt

関連する問題