2016-09-20 3 views
5

かみそりにおいてC#6文字列の補間を使用して:正しいウェイ

<button data-value="$'{@item.CustomerID}_{@item.CustomerType}'"></button> 

結果

期待
$'{34645}_{71}' 

34645_71 

更新: C#6を有効にして、@ smdragerの最後の2つのテクニックが動作するための適切なパッケージをインストールする必要がありました。 VS2015で>>プロジェクトメニューをクリック>>有効にする6#

+0

文字列補間を使用しない場合や、その出力を得るための最良の方法を探している場合はデッドセットですか? –

+0

@DStanley、可能であればデッドセット。 – usefulBee

+1

RazorビューでC#6を有効にするにはhttp://stackoverflow.com/questions/30832659/string-interpolation-in-a-razor-viewを参照してください –

答えて

8

例では、文字列補間は必要ありません。

@Html.Raw($"<button data-value='{item.CustomerID}_{item.CustomerType}'></button>") 

しかし、あなたがHTMLエンコードに出失う:だろう補間で<button data-value="34567_123"></button>

equivallentが生成されます

<button data-value="@(item.CustomerID)[email protected]"></button> 

:標準かみそりの構文を使用して、あなたがあなたが望む結果を得ることができますスクリプトの挿入を防止します(これは、あなたが扱うデータ型ではそうは考えられません)。

編集:

あなたが完全に奇抜な取得したい場合は、両方を混在させることができます。

<button data-value="@($"{item.CustomerID}_{item.CustomerType}")"></button> 

しかし、それはより冗長で読みにくいです。

+0

最初の手法を試しただけで、@ item.CustomerID_は機能しません。 CustomerIDはアンダースコアのために認識されませんでした。 – usefulBee

+0

@DStanley、right、verified..thx!私はこれを答えに編集する必要があると思う。 – usefulBee

+2

申し訳ありません。私は答えを修正した。剃刀パーサーの混乱を解消するために、カッコを使用する必要があることがあります。 – smdrager

関連する問題