私は Razor を使い始めたばかりで、最初はヘルパーを .ACSX のように扱いたいと思っていました。
非常に単純なヘルパーを作成するとします。
@helper HowManySpans() {
<div>
<input type="text" name="txtLoops" /><input type="submit" value="how many?" />
@{ if (IsPost) {
var count = Request["txtLoops"];
var i = 1;
while (i < count) {
<span>Span #@i</span>
i++;
}
}
</div>
}
同じページに2つ配置するまでは問題なく動作します。ASPXページが一般的に行うように、コンパイラがプレフィックス付きの要素の名前を出力することを期待していました.yknow、ctl00_Header_txtLoopsなど。
より引数駆動型のヘルパーでは、自分の引数を使用して自分の名前にプレフィックスを付けることができると思いますが、それでも問題が延期されると感じています。名前の前に特定の引数を付ける動的ヘルパーがあったとしても、その引数を持つページには 1 つしか存在できませんでした。
私は痛々しいほど明白な何かを見落としていますか?