問題タブ [editorfor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
14360 参照

c# - @Html.EditorFor(m => m) lambda syntax in MVC

I'm just learning C# and MVC, and trying to understand some examples.

Eventually I figured out that '=>' is the lambda operator, and that it means something like "m such that m". That doesn't really make any sense to me. Why not just pass in m?

Also, I don't see m defined in any view that I'm working with. Model is defined, and allegedly that's what this method is picking up. How does that work?

Finally, I looked at the definition for Html.EditorFor, and don't see any overload for passing in just a single parameter. Where is this syntax defined?? http://msdn.microsoft.com/en-us/library/ee834942.aspx

0 投票する
1 に答える
1787 参照

asp.net-mvc - CheckBoxList の代わりに ViewModel の EditorTemplate を作成する

CheckBoxList ヘルパー コントロールを使用する代わりに、mvc フレームワークのエディター テンプレートを使用したいと考えています。

Shared\EditorTemplate には TemplateViewModel.cshtml があります

テンプレートにはビューモデルと同じ名前が必要なので...ここに行きます:

Home\Delete.cshtml には次のものがあります。

Delete.cshtml の出力は完全に混乱しています。

チェックステータスと名前が表示され、IDがどこかに隠されていることを望んでいます。

TemplateViewModel.cshtml/Delete.cshtml を修正するにはどうすればよいですか?

0 投票する
1 に答える
2500 参照

asp.net-mvc-3 - mvc3のネストされたコントロールに「input-validation-error」を追加する方法

私はこのようなオブジェクトを持っています:

このオブジェクトには、テンプレート用のカスタムエディタがあります。

およびモデルバインダー:

コントローラのモデルは次のようになります。

ご覧のとおり、上記のテンプレートのカスタムエディタによってレンダリングされるTestオブジェクトを使用しています。

かみそりの構文は次のようなものです。

モデルのデータ注釈は、テストオブジェクト(m.Value)の入力が必要であることを示しています。このフィールドに入力がない場合、ModelBinder(TestBinder)はnullを返します。

次に、検証メッセージが次のように表示されます。

ウェブページ

ただし、「input-validation-error」と呼ばれるcssクラスは入力フィールドに追加されません。

モデルエラーでmvc3がカスタムエディターテンプレートのすべてのネストされた入力フィールドにcssクラス「input-validation-error」を追加することをどのように達成できますか?

0 投票する
1 に答える
458 参照

asp.net-mvc-3 - 入力タグの MVC3 ValidationFor (EditorFor なし)

ページにヘッダーのリストを表示する IEnumerable で厳密に型指定された MVC3 ページがあります。ページの上部には、新しいヘッダーの最初の詳細 (開始日、終了日) を取得し、それらを編集ビューに送信できる小さなフォームが必要です。

私はこれをすべてトップフォームで使用しています

次に、検証を追加したいと思いました (基本的に開始日と終了日は必須フィールドです)。私はいくつかの異なる ValidationMessageFor(x => (new Header().StartDate) などを実行しようとしました...その後、変更しようとする道をたどりました

問題は、検証を追加できないことのようです

このようなことを行うための推奨される方法はありますか? に検証を追加する方法はありますか

0 投票する
1 に答える
954 参照

c# - DateTime EditorFor Template-IDと名前の属性を設定しますか?

ユーザーが日付範囲を選択していくつかの統計を表示できるフォームを作成しようとしています。「試した代替DateTimeエディターテンプレート」を使用していない限り、テキストボックスに日付だけを表示するように日時を取得できませんが、フォームに接続されていないため、フォームに接続されていません。 idまたはname属性。

私は何が間違っているのですか?

DateTimeエディターテンプレート

私が試した代替日時エディターテンプレート

私のモデル

フォームのマークアップ

0 投票する
3 に答える
33621 参照

asp.net-mvc - mvc3 maxLength 入力

これは一種の一般的なものかもしれませんが、フィールドのエディターでの文字入力の数を制限したいと考えています。

これはうまくいかないようです。

0 投票する
1 に答える
1469 参照

asp.net-mvc-3 - ASP.NET MVC3 TextBoxFor、EditorFor、ValidateFor がレンダリングされない

私はこの問題に頭を悩ませてきました。ASP.NET の Web サイトを中心に構築されたレガシ アプリケーションがあります。MVCを追加できるように適切なものを追加しましたが、ほとんど正しく動作します。

フォーム タグが含まれている (Html.BeginForm 内にカプセル化された) カミソリ ビューがあります。文字列用のカスタム テンプレート エディターも作成しました。私が抱えている問題は、通常のテキストボックス、editorfor または ValidateFor、ValidationSummary をレンダリングしたいときに、マークアップが生成されないことです。カスタム テンプレートは実行されますが、通常の HtmlHelper が機能していないようです。

これが私の見解です(部分的な見解です)

私のカスタム テンプレートでは、動作するプレーンな HTML をレンダリングしています。カスタム テンプレートで EditorFor を実行すると、部分的に機能します。検証属性が生成されていません。カスタム テンプレートの ValidateFor または ValidationMessageFor もマークアップを生成しません。これが私のカスタム テンプレートのコードです (/Shared/EditorTemplates にあります)。

また、EditorFor でカスタム テンプレート名を指定しなくても、カスタム テンプレートが常に使用されていると考えて、プロジェクトからカスタム テンプレートを完全に削除しようとしました。これは違いはありませんでした。私のプロジェクトは部分的に HtmlHelpers をレンダリングできないようです。

また、フォームタグが作成された後に ViewContext.FormContext が null ではないことも確認しましたが、その部分は問題ないようです。

どんな助け/提案も大歓迎です。

ありがとう

0 投票する
2 に答える
1121 参照

c# - EditorFor 適切な html を生成しない

EditorFor 拡張メソッドを使用してチェックボックスのリストをレンダリングしようとする mvc Web プロジェクトがありますが、結果はチェックボックスのリストではなくテキストとして ID を表示するだけです。

ビュー内のコードは次のとおりです。

これは、オブジェクト「モデル」のプロパティ「アクセス許可」です。

これは PermissionViewModel です。

public class PermissionViewModel { public int Id { get; 設定; }

}

最後に、ブラウザでの結果は次のとおりです。

html が正しく生成されない理由がわかりましたか? 依存関係がありませんか? 依存関係の競合?Web.Config が正しく構成されていませんか?

大変お世話になりました。

0 投票する
1 に答える
152 参照

asp.net-mvc - ビューからカスタムEditorForに渡されるオブジェクトのプロパティのVALUEを取得するにはどうすればよいですか?

System.Web.Mvcには、ビュー内のデータ型に関連付けられた編集コントロールをレンダリングするEditorForというメソッドを含むHtmlHelperがあります。

ASP.NET MVC 2 HtmlHelperを拡張して、独自のEditorForメソッドを作成しようとしています。私は次のものを持っています:

ビューからこれに渡されるオブジェクトのプロパティのVALUEを取得する方法を誰かが説明できますか?

0 投票する
5 に答える
2781 参照

c# - MVC HTML エディター テンプレートを使用して非連続プレフィックス コレクション インデックスを生成する方法は?

次のコードはかなり削除されていますが、基本的に私が達成しようとしているのは次のとおりです。

ページから質問/回答の選択肢を動的に追加/削除できるようにしながら、質問とそれに含まれる回答の選択肢を編集できるようにしたいと考えています。理想的には、アイテムの HtmlFieldPrefix はノンシーケンシャルですが、Html.EditorFor() はシーケンシャル インデックスを使用します。

回答の選択肢の IEnumerable を含む Question ViewModel があります。

私の質問の部分ビュー (Question.ascx) には、次のようなものがあります。

Answer Choice エディター テンプレート (AnswerChoiceViewModel.ascx):

Question.ascx をレンダリングすると、出力は次のようになります。

私が知りたいのは、ページが次のようにレンダリングされるように、EditorFor にカスタム GUID インデックスを提供する方法です。

現在のコンテキストのプレフィックス インデックスを取得し、それを非表示の ".Index" フィールドに格納するヘルパー メソッドを既に作成して、非連続インデックスを正しくバインドできるようにしました。EditorFor がどのようにインデックスを割り当てているかを知りたいだけなので、それをオーバーライドできます (または他の実用的なソリューション)。