問題タブ [razor-2]
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.
asp.net-mvc - ASP.NET で Razor を使用してテーブルをネストする際の問題 / 次の例は明確にします
複数のタイム スロットがある会議サイトの単純な関係があり、各タイム スロットに複数のセッションを表示したいと考えています。
以下のコードは正しく動作しますが、外側のコード ブロックで @Html.Raw("..") を使用する必要がありました。生の html (最初の @Html.Raw("") のすぐ上にABCDなど) を配置しようとすると、コンパイラ エラーが発生します。ネストされた foreach に実際の html コードがあり、すべてをヘルパー メソッドでラップする必要はありません。
ありがとう。
asp.net-mvc - Is it possible to dynamically set selectedvalue using dropdownlistfor with nested classes?
I have a class, Farm, which contains a list of classes of type Animal.
I would like to make a createOrEdit view for my Farm object, and I'd like to use DropDownLists for the Animal's Name and Family. The choices are coming from a database.
When I pass the Animal model to the view for editing I'd like to have the DropDownLists somehow match the properties for each animal and set the selected values of the lists.
I've tried lots of things like this:
I've seen a bunch of suggestions on this site for creating SelectLists in the controller, iterating through each item and setting the selected property where appropriate. But there's gotta be a cleaner way.. what if I have 100 Animals on my farm. It doesn't seem reasonable to create 200 SelectLists in the controller, iterate through each of them to match up the selected values, and then pass that to the view.
So, is there a simple way for me to take that Animal.Name[i] value and find its matching listitem in the DDL?
Thanks!!
c# - ネストされたモデルをasp.netmvcにポストバックする方法
まず、誤解を招くような質問の場合は申し訳ありませんが、質問の仕方がよくわからないので、例を挙げて説明します。
質問のより良いタイトルを提案できれば、喜んで変更します
私はこれらのモデルを持っています:
次に、私のコントローラーは次のようになります。
今は私が物事を複雑にし始めるときです(少なくとも私にとっては)
私の見解は次のようなものです。
EditorTemplateフォルダーにこのビューがあります
ご覧のとおり、部分ビューを使用して各カテゴリ内のタグをレンダリングしています
だから私の部分的なビューはこのようなものです
再び私のEditorTemplateフォルダーに私はこのようなビューを持っています
この時点まで、すべてが順調に進み、すべてのカテゴリとタグをそれぞれ問題なくレンダリングして、遅延ロードが実行されます。
しかし、私が使用して投稿するとき:
私はこれを手に入れます:
ご覧のとおり、タグは何もありません。
だから私の質問はこのようなものですどのように私はそれらのタグをサーバーに戻すのですか?
(私にはそれを行う他の方法がありますが、このアプローチを使用してそれを行うことが可能かどうか知りたいです)
(C#で答えがある場合は、それから作業することを知らせてください)
thxs!
razor - Razor 2 / RE 3.2にアップグレードした後、RazorEngine拡張メソッドがRuntimeBinderExceptionで失敗する
Razor2.0およびRazorEngine3.2.0へのアップグレード後に失敗するRazorEngineプロジェクトがあります
これは、以前のRazor 1.0ベースのバージョンのRazorEngine(3.0.8)では正常に機能しました。
myInstance
クラス(MyClass
)と拡張メソッドのインスタンス( )があります:
これをRazorEngineビューで呼び出したい(簡略化された例、これらのメソッドがたくさんあり、すべて同じように失敗します):
これは、RazorEngineによってコンパイルされたテキストファイルにあります。
問題は、この行(以前は機能していた)がRuntimeBinderException
:をスローすることです。
「MyCompany.MyClass」には「ExtensionMethod」の定義が含まれていません
テキストファイルを次のように変更した場合は注意してください。
正常に動作するので、拡張メソッドの名前空間を見つける必要があると思います。
私の最初の考えは、渡されたモデルをdynamic
(したがって、それから派生したものdynamic
も)と見なす必要があるということでしたが、で予想されるタイプを認識していRuntimeBinderException
ます。例外は実行時なので、テンプレートのコンパイル中に拡張メソッドを識別できなかったに違いないと思いますが、なぜそれが変更されたのでしょうか。
3.0.8と3.2.0の間で何が変わったのか、なぜこれが壊れているのかわかりません。テンプレートのコンパイル中に拡張メソッドを見つけるために追加する必要があるものはありますか?
asp.net-mvc-3 - mvc4 のドロップダウンリスト
「はい」と「いいえ」を表示するドロップダウンリストがあります。ドロップダウンリストから「はい」を選択すると、1がデータベースに保存されます。「いいえ」を選択すると、0が保存されます。「作成」ページのドロップダウンから「はい」を選択すると、表示されますはい、インデックスページでは保存されますが、保存される値は1である必要があります
モデルは:
作成.cshtml
インデックス.cshtml:
yes と no の値を持つドロップダウンを取得し、それに応じて 1 と 0 を格納しています。しかし、インデックス ページでは、yes と no の代わりに 1 と 0 を表示しています...助けてください...
asp.net-mvc - コレクションのEditorForを作成し、ループを回避する方法
例えば:
モデル
Personのエディターテンプレート(PersonEditor.cshtml):
メインページで、次のことができるようにしたいと思います。
そして、フォームにすべての要素を入れて、適切な名前を自動的に生成します。私が今しているようにコレクションをループする代わりに:
フォーム要素には、次の形式が含まれている必要があります。
等々...
私のコントローラーではIList<Person>
、フォームの投稿がパックされたときに受け取ることを期待しているためです。
そのforループを完全に排除できますか?
編集
今のところ、単純に@Html.EditorFor(x=>x)
(つまり、ループなしで)実行すると、次の例外が発生します。
ディクショナリに渡されるモデルアイテムのタイプは「MvcApplication1.Models.Person[]」ですが、このディクショナリにはタイプ「MvcApplication1.Models.Person」のモデルアイテムが必要です。
asp.net-mvc - 新しい子エンティティを持つ新しいエンティティを投稿する
私のドメイン モデルは、1 つ以上の CompanyAdmin エンティティを持つ Company エンティティです。
フォームの値を投稿するときに既定のモデル バインダーが機能するには、CompanyAdmin エンティティに一意の名前が必要であることがわかりました。
このページを初めて閲覧するとき、Company または CompanyAdmin のデータはありません。つまり、このコードはビューでは機能しないため、入力テキスト ボックスが表示されません。
したがって、それらを表示するには、次を使用します。
しかし、問題は、POST 時にモデル バインディングが機能しないことです。私が見つけることができるすべての例は、既に作成されたデータを使用しています。
どうすればこれを機能させることができますか?
ビューモデル
コントローラ
見る
c# - MVC4 ユーザー入力について、エンティティ (モデル) 入力の検証に依存しない方法は?
Vs2012 /WebSite Razor2 開発モードでは、次の検証方法を使用できますか?
では、MVC と同様の方法を使用するにはどうすればよいでしょうか。
asp.net - razor v2でc#からjavascript関数を呼び出す方法
noty javascriptプラグインを使用して通知を作成するjavascript関数がありますが、
C# のビュー エンジンとして razor v2 を使用しており、mvc ではなく Web フォーム フレームが機能します。フォームを送信した後、上記の JavaScript 関数を呼び出したいと思います。これが私がやろうとしていることの例です。
ps htmlボタンのonclickイベントハンドラーを使用してgenerateAnoty(message) jsメソッドを呼び出そうとすると、うまく機能します。
asp.net-mvc - 突然、CultureInfo.CurrentUICulture に IE9 の言語設定が反映されませんか?
以前は、このコードに問題はなく、IE9 で設定されたユーザーの言語設定が常に正しく反映されていました。
私は最近このコードを追加しましたが、以前は私のために働いていました。しかし、これが機能しているように見えたときと機能しなくなったときの間に、私の会社が行った唯一のことは、Telerik Kendo へのアップグレードでした。これがどのように影響したかはわかりませんが、問題は、上記のコードと以下のコードが、IE9 で選択されたユーザーの言語設定を正しく反映していないことです...
ビューに CultureInfo.CurrentUICulture.Name を使用するコード ブロックがありますが、IE9 の言語設定に関係なく、常に en-US に設定されているようです。注: このコードは @section に埋め込まれています。
私の web.config には現在、グローバリゼーションで次の設定があります。
また、コントローラーで CultureInfo.CurrentCulture を CultureInfo.CurrentUICulture に設定して、モデルが日付と数値に対して正しくバインドされるようにします。
注意すべき非常に重要: 何らかの理由で、OnAuthorization と jQueryScripts @section のコード ブロックの両方にブレーク ポイントを設定すると、OnAuthorization が 3 回ヒットします (これを引き起こしている可能性のある ajax 呼び出しがいくつかあります ($(document) .ready(...)、確認する必要がありますが、これまでに気づいたことはありません) - しかし、Thread.CurrentThread.CurrentUICulture は、LAST 呼び出しでユーザーの言語設定を適切に反映しているだけのようで、jQueryScripts @ に配置したブレークポイントCultureInfo.CurrentUICulture をクエリするセクションは、OnAuthorize への最初の呼び出しの後にヒットします。非常に困惑しています...何か考えはありますか?