問題タブ [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.

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

entity-framework-4.1 - ICollectionの作り方必須。どのように

これが言語のリストを含む私のマスターエンティティです

私のWebSiteLanguage子クラスは

私のビューでは、ajax呼び出し内で必要に応じて多くの言語を追加できます。

ここに画像の説明を入力してください

私の質問は:
を作ることは可能ですか?

public virtual ICollection WebSiteLanguages {get; セットする; }

必須。WebSiteLanguageが作成されていない場合、Webサイトエンティティは無効です。

どうもありがとう。

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

visual-studio-2010 - ASP.Net MVC 4 アプリのユニット テストを徹底的に行う

これは約 20 の異なる投稿の重複であることは認識していますが、いずれも MVC4 に固有のものではなく、私のすべての質問に実際に答えているものはありません。これまでのところ、TDD の世界への私の最初の進出は、控えめに言っても苛立たしいものでした。私がやろうとしたことのほとんどは、MVC 4 と互換性がないように思われるか、文書化が不十分なサードパーティのライブラリを使用しないと不可能に近いようです。

私ができるようにしたいのは、コントローラーアクション、それらが渡すモデル、およびアクションがモデルを送信するビューをテストするテストを作成することです。ビューが存在するかどうかをテストしたい、渡されたモデルがビューに適したタイプであるかどうかをテストしたい、それが適切に処理されるかどうかをテストする方法が欲しい. また、ルートをテストできるようにしたいと考えています。そして、認証フィルターをテストしますか?

私は、ASP.Net MVC を単体テストする方法が必要です。可能性はほとんどありません。

アクションのモデル出力のテストは簡単に思えますが、ビューのテストはほぼ不可能です。

だからここに私の質問のリストがあります:

  1. アクションをテストしてアクションの結果を取得したら、必要なビューが存在するかどうかをテストするにはどうすればよいですか?
  2. ルートをテストするにはどうすればよいですか?
  3. ビューが適切に処理されていることを確認するにはどうすればよいですか?
  4. ASP.Net MVC 4 の完全な単体テストの実際の「ベスト プラクティス」とは何ですか?
  5. フォーム認証の単体テストを行うにはどうすればよいですか?
  6. アクション フィルターを単体テストするにはどうすればよいですか?

組み込みの Visual Studio テスト プロジェクトを使用したいのですが、NUnit を使用する必要がある場合は、使用する必要があります。それが適切に行われることを確認する必要があるだけです。

ご回答ありがとうございます。

編集:アセンブリの1つがコンパイルされた.NETのバージョンと互換性がないため、MVC4アプリでNUnitを動作させることもできませんでした。

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

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」は未定義です

もう手がかりがありません。誰かが私がこれを修正するのを手伝ってもらえますか?

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

ninject - Ninject.MVC3 +MediumTrust=セキュリティ例外

  1. タイプAsp.netMVC4の新しいプロジェクトを作成しました
  2. Ninject.MVC3NuGetを介してパッケージをインストールしましたInstall Package Ninject.MVC3
  3. プロジェクトを実行すると、セキュリティエラーが発生します。

エラー

'/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(IEnumerable 1 source, Func2 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.List
1 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(IEnumerable
1 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.WhereSelectEnumerableIterator

1 source) +299
Ninject.Planning.Targets.Target

1.ResolveWithin(IContext parent) in Target.cs:147
Ninject.Activation.Providers.StandardProvider.GetValue(IContext context, ITarget target) in StandardProvider.cs:97
System.Linq.WhereSelectArrayIterator

1..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を使用するにはどうすればよいですか?

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

asp.net-mvc-4 - MVC4を使用したモーダルjQuery部分ビューの生成が機能しない

MVC4が新しいログオン画面を管理する方法が好きです。モーダルダイアログを表示することができます。

ここに画像の説明を入力してください

別のビューの同じソリューションで同じ動作を再現しようとしました。ただし、 Request.QueryString ["content"]がnullであるため、機能しません。どうしてか分かりません。実際、トリックが発生したContextDependentView(MVCテンプレートによって生成される)と呼ばれるアクションメソッドがあります。ここにあります:

Request.QueryString ["content"]の値がnullでない場合は、部分ビュー(モーダルjQuery)を表示します。それ以外の場合は、クラシックビューです。

誰かがこれが機能しない理由を理解するのを手伝ってもらえますか?

PS:別のスレッドがすでに存在しますが、解決策はありません。

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

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

フルエラー

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

c# - カスタムメンバーシップとロールプロバイダーがローカルで機能するのに、展開後に失敗するのはなぜですか?

ASP.NET MVC 4に組み込まれている認証と承認を活用するために、カスタムメンバーシップとロールプロバイダーを作成しました。アプリケーションの開発中は、テスト環境に展開するまで、すべてが順調に進んでいました。

Visual Studioからデバッグモードでアプリケーションを起動すると、完全に正常に機能します。ただし、次にVisual Studioのワンクリック展開を使用して、開発マシンで実行されているIISのインスタンスにアプリケーションをロードします。ブラウザにアプリケーションをロードできますが、認証が機能しなくなりました。Fiddlerを使用すると、Cookieが返送されていることがわかりますが、[Authorize]属性を使用して制限されているサイトの部分にアクセスできません。

以下は私のweb.configからの関連スニペットです。

さらに、次のようにロジックを使用して両方のカスタムプロバイダーでアプリケーション名を設定します。

さらに、IISの実行中のインスタンスに接続した後、フォームに入力された情報は検証に合格しましたが、許可されたアクセスが制限されているページへのアクセスは許可されていません。

また、デプロイメントに使用されているデータベースには、開発データベースと同じ値が入力されます。

プロバイダーがデバッグ環境で正常に機能しているのに、展開後にプロバイダーが機能しないのはなぜですか?

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

asp.net-mvc-4 - MVC4 プロジェクトのホスティング

MVC4 をサポートするホスティング会社を探してみましたが、見つかりませんでした。MVC4 アプリケーションをオンラインでデプロイしたいのですが、手頃な価格のホスティング会社を知りません。リストをいただけますか?

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

wcf-web-api - ASP.NET Web API バインディング メソッド

このような2つの方法があります

URL を呼び出すと: GET http://localhost/api/product/1。2 番目のメソッドではなく、最初のメソッドが呼び出されるようにします。
どうやってやるの ?

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

asp.net - /News/5 のルートをニュース コントローラーにマップする方法

/News/5 のルートをニュース コントローラーにマップする方法を特定しようとしています。

これは私の NewsController です:

これは私の Global.asax.cs ルールです。

/News/5 にアクセスしようとするとリソースが見つからないというエラーが表示されますが、/News/Index/5 にアクセスすると機能しますか?

試してみまし{controller}/{id}たが、同じ問題が発生しました。

ありがとう!