1

EditorTemplateとして使用しているビューがあります。ユーザーが編集できるものと挿入できるものを制限したいと思います。私のEditorTemplateビューはSomeModelと入力されており、SomeModel.Idが0でない場合は編集を行っていることを意味し、そうでない場合は挿入を行っていることを知っています。私は次のようなことができると思いました:

@if (Model.Id == 0) 
{ 
  //show "insert-specific" UI 
}

しかし、何らかの理由で、経由でチェックすると常に0、null、デフォルトなどが表示されますModel.が、Htmlヘルパーメソッドは次のように真の値を正しく取得します。

@Html.TextBoxFor(model => model.Id)

ここでも、が別の値を示しているModel.Id場合でも、の値は常に0@Html.TextBoxFor(model => model.Id)です。

私がやろうとしていることを達成するためのより良い方法はありますか?

注:それが重要かどうかはわかりませんが、TelerikMVCグリッドコントロールを使用しています。挿入と編集で異なるビューを使用できないようです。

4

1 に答える 1

1

よ、

Ajaxバインディングを使用している場合、EditorTemplateはシリアル化されてクライアントに送信され、レコードを編集したり新しいレコードを追加したりするたびに、異なる値が再入力されます。ajaxバインディングを使用している場合は、OnEditクライアントイベントを使用して、e.mode編集または挿入であるかどうかを確認できます。次に、JavaScriptを使用してそのエディターを操作できます。

于 2012-09-10T17:48:45.353 に答える