1

Razor (MVC 4) では、次のような (疑似) コードを実行できますか?

<div id="One" @if(THIS_ID_IS("One")) {WRITE_SOMETHING_HERE} ></div>
<div id="Two" @if(THIS_ID_IS("One")) {WRITE_SOMETHING_HERE} ></div>

私の意図は、DIV「One」では追加の属性が書き込まれますが、DIV「Two」では書き込まれないということです

したがって、THIS_ID_IS(string id) は、Razor-Parse が id="xyz" で指定された DIV の内側にあるかどうかを判断する必要があります。

これは可能ですか?

4

4 に答える 4

0

このような状況では、ヘルパー メソッドを記述してマークアップを出力する傾向があります。このようにして、かみそりの「ルール」に制約されることはありません。div内にjQueryスライダーhtmlを出力するために同様のことをしました。

また、ターゲット ユーザーにもよりますが、実際のビューを作成することはほとんどありません。私は、ロジックを書いたり理解したりすることを要求する「クリエイティブ」に何かを渡すのは好きではありません。

それは理想的な解決策ではないか、あなたの状況ではやり過ぎかもしれませんが、一見の価値があるかもしれません.

http://www.asp.net/mvc/tutorials/older-versions/views/creating-custom-html-helpers-cs

于 2013-09-03T14:42:28.547 に答える
0

以来idsunique値です。すべての div には異なる ID があります。
したがって、かみそりで条件付きチェックを行う必要はないと思います。

次のように、追加の属性を直接追加できDivます

<div id="One" attribute-name="Value"></div>
于 2013-09-03T14:41:44.177 に答える
0

できるようになりたいと思うくらいです。そうではないようです。

これらの 2 つの記事に基づいて:

Razor エンジンは、コードとマークアップ パーサーを組み合わせているように見えます。メインのパーサーは、どちらかを使用することを決定します。したがって、パーサーはお互いを認識していません。

簡単に言えば、あなたの例では<div id="One"></div>@if(THIS_ID_IS("One"))異なるスコープで解析され、連結されるだけです。

于 2013-09-03T14:43:03.450 に答える