問題タブ [asp.net-mvc-4]
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 MVC 4 プロジェクトがあります。テンプレートをカスタマイズして、コントローラーとビューを希望どおりに作成しました。これはすべてうまくいきます。これで、スキャフォールディングが必要なモデルごとにコントローラーといくつかのビューを一度に生成する PowerShell スクリプトを作成しました。これもうまくいきます。
次に、1 つのコマンドで複数のモデルをスキャフォールディングする PowerShell スクリプトを探しました。これは、現在所有しているモデルごとにスクリプトを手動で実行する必要があるためです。私が最初に見つけたのは、モデルを足場にするコマンドを各行に記述したスクリプトを作成することでした。もう少し詳しく調べてみると、これは、足場となるモデルのリストと、リストを反復処理してそのリスト内の各項目に対して scaffold-command を実行する foreach ループを持つスクリプトで実行できることがわかりました。これはずっと良かったです!
私が今自問している唯一のことは、Model フォルダー内のすべてのモデルを自動的に検出し、それらをリストに入れ、ループを実行するスクリプトを作成することは可能かということです。私がこれを尋ねている理由は、私が持っているモデルがほんの数個ではなく、約 250 であるためです。これを手動で行う気がないわけではありませんが、いくつかのモデルが追加、変更、または削除された場合はどうなるでしょうか.. .
だから私の質問は次のとおりです。モデルフォルダーからすべてのモデルを「動的に」取得し、それらを反復されるリストに入れる方法はありますか?
アップデート:
これは、私のスクリプト「ScaffoldAll.ps1」が現在どのように見えるかです (250 モデルすべてがリストにあるわけではありません)。
私が達成したいこと(疑似!):
これは可能ですか?
asp.net-mvc - @Html.ValidationSummary は、MVC3 または MVC4 のクライアント側の検証で機能しますか?
次のコードがあります。
注文値 999 を入力すると、すぐにクライアント側の検証が行われ、注文テキスト ボックスの直後にエラー メッセージが表示されます。ただし、Html.ValidationSummary 領域には何も表示されません。これをクライアント側の検証で使用することは可能ですか?
これが私のモデルです:
私のウェブ設定:
entity-framework-4.1 - ICollectionの作り方必須。どのように
これが言語のリストを含む私のマスターエンティティです
私のWebSiteLanguage子クラスは
私のビューでは、ajax呼び出し内で必要に応じて多くの言語を追加できます。
私の質問は:
を作ることは可能ですか?
public virtual ICollection WebSiteLanguages {get; セットする; }
必須。WebSiteLanguageが作成されていない場合、Webサイトエンティティは無効です。
どうもありがとう。
visual-studio-2010 - ASP.Net MVC 4 アプリのユニット テストを徹底的に行う
これは約 20 の異なる投稿の重複であることは認識していますが、いずれも MVC4 に固有のものではなく、私のすべての質問に実際に答えているものはありません。これまでのところ、TDD の世界への私の最初の進出は、控えめに言っても苛立たしいものでした。私がやろうとしたことのほとんどは、MVC 4 と互換性がないように思われるか、文書化が不十分なサードパーティのライブラリを使用しないと不可能に近いようです。
私ができるようにしたいのは、コントローラーアクション、それらが渡すモデル、およびアクションがモデルを送信するビューをテストするテストを作成することです。ビューが存在するかどうかをテストしたい、渡されたモデルがビューに適したタイプであるかどうかをテストしたい、それが適切に処理されるかどうかをテストする方法が欲しい. また、ルートをテストできるようにしたいと考えています。そして、認証フィルターをテストしますか?
私は、ASP.Net MVC を単体テストする方法が必要です。可能性はほとんどありません。
アクションのモデル出力のテストは簡単に思えますが、ビューのテストはほぼ不可能です。
だからここに私の質問のリストがあります:
- アクションをテストしてアクションの結果を取得したら、必要なビューが存在するかどうかをテストするにはどうすればよいですか?
- ルートをテストするにはどうすればよいですか?
- ビューが適切に処理されていることを確認するにはどうすればよいですか?
- ASP.Net MVC 4 の完全な単体テストの実際の「ベスト プラクティス」とは何ですか?
- フォーム認証の単体テストを行うにはどうすればよいですか?
- アクション フィルターを単体テストするにはどうすればよいですか?
組み込みの Visual Studio テスト プロジェクトを使用したいのですが、NUnit を使用する必要がある場合は、使用する必要があります。それが適切に行われることを確認する必要があるだけです。
ご回答ありがとうございます。
編集:アセンブリの1つがコンパイルされた.NETのバージョンと互換性がないため、MVC4アプリでNUnitを動作させることもできませんでした。
asp.net-mvc - プロパティのリストを使用してオブジェクトを作成し、それをコントローラーに渡します
おそらく私の問題には簡単な解決策がありますが、私はそれを見つけることができないようです。ノックアウトに関するチュートリアルをたくさん読んだので、基本を理解しましたが、私のエンティティ構造は、Twitterにある場合とない場合がある名前と友達のリストを持つ人よりも少し複雑なので、この質問をします(ビデオChannel9:MVVMとASP.NETを使用して動的なJavaScript UIを構築するのに役立ちます)。これが私の状況です:
この基本構造を持つクラスPersonnelClassがあります。
PropertyCollectionクラスと関連するAbstractPropertyクラスは次のようになります。
私のコントローラーでは、次の構造を持つPersonnelClassViewModelのインスタンスを作成します。
このビューモデルに新しいPersonnelClassと2つのテストプロパティを入力して、次のようにビューに渡します。
必要に応じて、すべてをビューに表示します。ビューから、選択したプロパティのセットを使用して新しいPersonnelClassを作成します。名前と説明のフィールドがあり、プロパティを追加するために、既存のプロパティを含むリストボックスがあります(デモ用に、これらはコントローラーから取得されました)。Knockout JavaScriptコードを少し使用することで、このリストからアイテムを選択し、HTML select-control()に選択したプロパティを入力してPersonnelClassに追加できます。これはすべて正常に機能しますが、オブジェクトを作成してControllerに戻し、PersonnelClassを作成するまでは問題ありません。
私の質問は、このオブジェクトを構築し、フォームを送信してコントローラーに渡すために必要なKnockout JSコードと、コントローラーでこのオブジェクトを受け取る方法、つまり、これがどのタイプのオブジェクトであるか(PersonnelClass、PersonnelClassViewModel、 ...)?
さらに情報/コードが必要な場合は、お問い合わせください。前もって感謝します!
'B Z'の回答後に更新:
私はこれについてスティーブン・サンダーソンのチュートリアルをさらにいくつかフォローして、これを確実に理解できるようにしました。特に、あなたが回答で提供したものです。これで、ビューに次のコードが表示されます。
変数'initialData'には、期待する値が含まれていますが、次のエラーが発生します。
Microsoft JScriptランタイムエラー:「personnelClassViewModel」は未定義です
もう手がかりがありません。誰かが私がこれを修正するのを手伝ってもらえますか?
ninject - Ninject.MVC3 +MediumTrust=セキュリティ例外
- タイプAsp.netMVC4の新しいプロジェクトを作成しました
- Ninject.MVC3NuGetを介してパッケージをインストールしました
Install Package Ninject.MVC3
- プロジェクトを実行すると、セキュリティエラーが発生します。
エラー
'/MediumTrustSample'アプリケーションのサーバーエラー。
セキュリティ例外
説明:アプリケーションがセキュリティポリシーで許可されていない操作を実行しようとしました。このアプリケーションに必要な権限を付与するには、システム管理者に連絡するか、構成ファイルでアプリケーションの信頼レベルを変更してください。
例外の詳細:System.Security.SecurityException:タイプ'System.Security.Permissions.ReflectionPermission、mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'のアクセス許可の要求が失敗しました。
ソースエラー:
20行目:
DynamicModuleUtility.RegisterModule(typeof(OnePerRequestModule)); 21行目:
DynamicModuleUtility.RegisterModule(typeof(HttpApplicationInitializationModule)); 22行目:bootstrapper.Initialize(CreateKernel); 23行目:
} 24行目:ソースファイル:C:\ Users \ Riderman_2 \ Documents \ Visual Studio 2010 \ Projects \ MediumTrustSample \ MediumTrustSample \ App_Start \ NinjectMVC3.cs行:22
スタックトレース:
[SecurityException:タイプ'System.Security.Permissions.ReflectionPermission、mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken =b77a5c561934e089'のアクセス許可の要求に失敗しました。]
System.Security.CodeAccessSecurityEngine.SpecialDemand(PermissionType whatPermission、StackCrawlMark&stackMark )+0
System.Security.CodeAccessPermission.Demand(PermissionType permitType)+30
System.Reflection.RuntimeMethodInfo.Invoke(Object obj、BindingFlags invokeAttr、バインダーバインダー、Object []パラメーター、CultureInfoカルチャ、ブールskipVisibilityChecks)+281
System.Reflection.RuntimeMethodInfo.Invoke(Object obj、BindingFlags invokeAttr、バインダーバインダー、Object []パラメーター、CultureInfoカルチャー)+38 Ninject.Infrastructure.Language.ExtensionsForMemberInfo.GetParentDefinition(MethodInfo method、BindingFlags flags)in ExtensionsForMemberInfo.cs:145
Ninject ExtensionsForMemberInfo.cs:173
Ninject.Selection.Heuristics.StandardInjectionHeuristic.ShouldInject(MemberInfo member)in StandardInjectionHeuristic.cs:
47Ninject.Selection。<>c_の.Infrastructure.Language.ExtensionsForMemberInfo.IsDefined(PropertyInfo element、Type attributeType、Boolean inherit) Selector.cs:92のDisplayClass3.b _2(IInjectionHeuristic h)System.Linq.Enumerable.Any(IEnumerable1 source, Func
2 predicate)+149
Ninject.Selection.Selector.b_ 1(PropertyInfo p)in Selector.cs:92
System.Linq.WhereEnumerableIterator 1.InsertRange (Int32 index、IEnumerable 1 series、Action 2.MoveNext()+238 System.Linq.Enumerable.SingleOrDefault( Target.cs:179のIEnumerable 1.GetValue(Type service、IContext parent) Ninject.Planning.Targets.Target 2.MoveNext()+110 System.Linq.Buffer 1 source)+488 System.Linq.Enumerable.ToArray(IEnumerable 2.MoveNext()+238 System.Linq.d1.MoveNext() +156
System.Collections.Generic.List1 collection) +552
Ninject.Selection.Selector.SelectPropertiesForInjection(Type type) in Selector.cs:89
Ninject.Planning.Strategies.PropertyReflectionStrategy.Execute(IPlan plan) in PropertyReflectionStrategy.cs:60
Ninject.Planning.<>c__DisplayClass3.<GetPlan>b__1(IPlanningStrategy s) in Planner.cs:68
Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map(IEnumerable1 action) in ExtensionsForIEnumerableOfT.cs:23
Ninject.Planning.Planner.GetPlan(Type type) in Planner.cs:70
Ninject.Activation.Context.Resolve() in Context.cs:180
Ninject.KernelBase.<Resolve>b__7(IContext context) in KernelBase.cs:375
System.Linq.WhereSelectEnumerableIterator1 source) +299
Ninject.Planning.Targets.Target1.ResolveWithin(IContext parent) in Target.cs:147
Ninject.Activation.Providers.StandardProvider.GetValue(IContext context, ITarget target) in StandardProvider.cs:97
System.Linq.WhereSelectArrayIterator1..ctor(IEnumerable
1 source) +104
Ninject.Activation.Providers.StandardProvider.Create(IContext context) in StandardProvider.cs:81 Ninject.Activation.Context.Resolve() in Context.cs:157 Ninject.KernelBase.<Resolve>b__7(IContext context) in KernelBase.cs:375
System.Linq.WhereSelectEnumerableIterator
_b1 1 source)+282 Ninject.ResolutionExtensions.Get(IResolutionRoot root、IParameter [] parameters)in ResolutionExtensions.cs:371.MoveNext() +296
System.Linq.Enumerable.Single(IEnumerable
Ninject.Web.Mvc.Bootstrapper.Initialize(Func`1 createKernelCallback)in Bootstrapper.cs:72
MediumTrustSample.App_Start.NinjectMVC3.Start()in C:\ Users \ Riderman_2 \ Documents \ Visual Studio 2010 \ Projects \ MediumTrustSample \ MediumTrustSample \ App_Start \ NinjectMVC3.cs:22バージョン情報:Microsoft .NET Frameworkバージョン:4.0.30319; ASP.NETバージョン:4.0.30319.272
質問
MediumTrustでNinject.MVC3を使用するにはどうすればよいですか?
asp.net-mvc-4 - MVC4を使用したモーダルjQuery部分ビューの生成が機能しない
MVC4が新しいログオン画面を管理する方法が好きです。モーダルダイアログを表示することができます。
別のビューの同じソリューションで同じ動作を再現しようとしました。ただし、 Request.QueryString ["content"]がnullであるため、機能しません。どうしてか分かりません。実際、トリックが発生したContextDependentView(MVCテンプレートによって生成される)と呼ばれるアクションメソッドがあります。ここにあります:
Request.QueryString ["content"]の値がnullでない場合は、部分ビュー(モーダルjQuery)を表示します。それ以外の場合は、クラシックビューです。
誰かがこれが機能しない理由を理解するのを手伝ってもらえますか?
PS:別のスレッドがすでに存在しますが、解決策はありません。
asp.net-mvc-4 - DevTrends.MvcDonutCaching.KeyGenerator.GenerateKey の NullReferenceException
この投稿で @Aviv によって説明されている問題があります: http://www.devtrends.co.uk/blog/donut-output-caching-in-asp.net-mvc-3#125
こことCodeplexでエラーを探しましたが、見つかりませんでした。
環境はミディアムトラストです!
ルート
コントローラ
Web.config
_Layout.cshtml
フルエラー
c# - カスタムメンバーシップとロールプロバイダーがローカルで機能するのに、展開後に失敗するのはなぜですか?
ASP.NET MVC 4に組み込まれている認証と承認を活用するために、カスタムメンバーシップとロールプロバイダーを作成しました。アプリケーションの開発中は、テスト環境に展開するまで、すべてが順調に進んでいました。
Visual Studioからデバッグモードでアプリケーションを起動すると、完全に正常に機能します。ただし、次にVisual Studioのワンクリック展開を使用して、開発マシンで実行されているIISのインスタンスにアプリケーションをロードします。ブラウザにアプリケーションをロードできますが、認証が機能しなくなりました。Fiddlerを使用すると、Cookieが返送されていることがわかりますが、[Authorize]属性を使用して制限されているサイトの部分にアクセスできません。
以下は私のweb.configからの関連スニペットです。
さらに、次のようにロジックを使用して両方のカスタムプロバイダーでアプリケーション名を設定します。
さらに、IISの実行中のインスタンスに接続した後、フォームに入力された情報は検証に合格しましたが、許可されたアクセスが制限されているページへのアクセスは許可されていません。
また、デプロイメントに使用されているデータベースには、開発データベースと同じ値が入力されます。
プロバイダーがデバッグ環境で正常に機能しているのに、展開後にプロバイダーが機能しないのはなぜですか?
asp.net-mvc-4 - MVC4 プロジェクトのホスティング
MVC4 をサポートするホスティング会社を探してみましたが、見つかりませんでした。MVC4 アプリケーションをオンラインでデプロイしたいのですが、手頃な価格のホスティング会社を知りません。リストをいただけますか?