タグ付けされた質問 「asp.net-mvc」

ASP.NET MVCフレームワークは、Webアプリケーション向けに調整され、ASP.NETテクノロジーの基盤に基づいて構築されたモデルビューコントローラー(MVC)パターンのバージョンを実装するオープンソースのWebアプリケーションフレームワークおよびツールです。

12
asp.net mvcのJsonResultを介して返されたExpandoObjectをフラット化する方法は?
ExpandoObject実行時にサーバー側の動的オブジェクトをコンパイルしている間は本当に気に入っていますが、JSONのシリアル化中にこれをフラット化するのに問題があります。まず、オブジェクトをインスタンス化します。 dynamic expando = new ExpandoObject(); var d = expando as IDictionary<string, object>; expando.Add("SomeProp", SomeValueOrClass); ここまでは順調ですね。私のMVCコントローラーでは、これをJsonResultとして送信したいので、次のようにします。 return new JsonResult(expando); これにより、JSONが以下のようにシリアル化され、ブラウザーで使用されます。 [{"Key":"SomeProp", "Value": SomeValueOrClass}] しかし、私が本当に望んでいるのはこれを見ることです: {SomeProp: SomeValueOrClass} dynamic代わりに使用すると、これを達成できることを知っていますExpandoObject- プロパティと値を単一のオブジェクトJsonResultにシリアル化できdynamicます(KeyまたはValueビジネスはありません)が、使用する必要がある理由ExpandoObjectは、実行時までオブジェクトに必要なプロパティ、および私の知る限り、dynamicを使用しないとプロパティをに動的に追加できませんExpandoObject。 私はJavaScriptで「キー」、「バリュー」ビジネスをふるいにかける必要があるかもしれませんが、クライアントに送信する前にこれを理解することを望んでいました。ご協力いただきありがとうございます!

5
ASP.NET MVCカスタムモデルバインダーを使用しているときに、潜在的に危険なRequest.Form値がクライアントから検出されました
ここでエラーを取得する: ValueProviderResult value = bindingContext.ValueProvider.GetValue("ConfirmationMessage"); 選択した値のみを許可するにはどうすればよいですか?すなわち [ValidateInput(false)] public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { ValueProviderResult value = bindingContext.ValueProvider.GetValue("ConfirmationMessage"); ValueProviderResult value2 = bindingContext.ValueProvider.GetValue("ConfirmationMessage2"); }

2
.NETコアMVCコントローラーの単体テスト用のHttpContextをモックしますか?
私はユニットテストであるコントローラーに、httpリクエストのヘッダーの値を期待する関数があります。読み取り専用のため、HttpContextを初期化できません。 私のコントローラー関数は、「device-id」のhttpリクエストヘッダー値を期待しています [TestMethod] public void TestValuesController() { ValuesController controller = new ValuesController(); //not valid controller.HttpContext is readonly //controller.HttpContext = new DefaultHttpContext(); var result = controller.Get(); Assert.AreEqual(result.Count(), 2); } サードパーティのライブラリを使用せずにこれを行う簡単な方法はありますか?

14
ASP.NET Identityのクレームを更新するにはどうすればよいですか?
MVC5プロジェクトにOWIN認証を使用しています。これは私のSignInAsync private async Task SignInAsync(ApplicationUser user, bool isPersistent) { var AccountNo = "101"; AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); identity.AddClaim(new Claim(ClaimTypes.UserData, AccountNo)); AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent, RedirectUri="Account/Index"}, identity); } ご覧のとおりAccountNo、クレームリストに追加しました。 では、アプリケーションのある時点でこのクレームを更新するにはどうすればよいですか?これまでのところ、私はこれを持っています: public string AccountNo { get { var CP = ClaimsPrincipal.Current.Identities.First(); var Account= CP.Claims.FirstOrDefault(p => p.Type == …

6
ViewDataとTempDataの違いは?
私はViewDataが何であるかを知っており、常にそれを使用していますが、ASP.NETプレビュー5では、TempDataと呼ばれる新しいものを導入しました。 オブジェクトの辞書アプローチを使用する代わりに、通常は強くViewDataを入力します。 では、ViewDataの代わりにTempDataを使用する必要があるのはいつですか? このためのベストプラクティスはありますか?

1
同じDB内の複数のDBコンテキストとEF 6のアプリケーションおよびコードファーストの移行
Entity Frameworkは初めてです。EF 6を使用するMVCアプリケーションをセットアップしようとしています。コードファーストマイグレーションを使用しています。アプリでAreasを使用していて、分割するために各エリアに異なるDbContextsを設定したいと考えています。私はEF 6にContextKeyがあることを知っていますが、それを使用する方法に関する完全な情報を見つけることができません。現在、マイグレーションは一度に1つのコンテキストしか使用できません。 私のようなEFに新しい人が理解して使用するのに十分な詳細を備えた例を誰かが示すことができますか?


7
MVC 5シードユーザーとロール
私は新しいMVC 5で遊んでいますが、コードファーストマイグレーションを使用して、いくつかのモデル、コントローラー、ビューをセットアップしています。 私の質問は、ユーザーとロールをシードする方法ですか?現在、Configuration.csのSeedメソッドに参照データをシードしています。しかし、何かが最初にAccountControllerに到達するまで、ユーザーテーブルとロールテーブルは作成されないように見えます。 現在、2つの接続文字列を持っているので、データを認証から別のデータベースに分離できます。 他のユーザーと共にユーザー、ロールなどのテーブルを作成するにはどうすればよいですか?そして、アカウントコントローラーがヒットしたときではありませんか?

3
asp.net mvcアプリケーションで1つのコントローラーアクションの要求タイムアウトを設定する方法
アプリケーションの特定のコントローラーアクションのリクエストタイムアウトを増やしたいのですが。アプリケーション全体のweb.configで実行できることはわかっていますが、この1つのアクションだけで変更したいと思います。 Web.configの例: <system.web> <httpRuntime executionTimeout="1000" /> </system.web> どうすればいいのですか?

12
「コンパイラーが必要なメンバーがありません」というエラーがコードにほとんど変更を加えずに複数回スローされる
今日、実行しているC#MVCサイトにいくつかの変更をデプロイした後、いくつかの変更を加えるために戻って、このエラーに遭遇しました。 コンパイラーが必要なメンバーがありませんSystem.Runtime.CompilerServices.ExtensionAttribute..ctor エラーは、説明だけではなく、少しあいまいです(参照するファイル、行、または列はなく、プロジェクトのみです)。また、エラーを合計20回スローします。デプロイしたとき(当時は完全に機能していました)と今の間にコードに加えた変更は3つだけです。変更を元に戻しましたが、それでも同じエラーがスローされ、意味がありません。 SOやGoogleでこのエラーに関する多くの情報を見つけられませんでしたが、この解決策といくつかのMonoプロジェクトエラーへの参照(私はMonoを使用していません)を除きます。上記のガイが提供するソリューションでは、コンパイラが参照を解決できるようにするクラス定義を追加する必要があります。この時点までそれをする必要がなかったので、特にこれをしたくはありません。コードを濁らせてしまいます。 誰かがこれを以前に遭遇したことがあれば、ちょうど興味があります。前もって感謝します!
94 c#  asp.net-mvc 

4
ASP.NET Identityでのロールとクレームのベストプラクティス
私はclaimsin の使用にまったくASP.NETIdentity慣れていないので、の使用のベストプラクティスについて知りたいと思いRoles and/or Claimsます。 このすべてを読んだ後、私はまだ次のような質問があります... Q:ロールを使用しなくなりましたか? Q:その場合、なぜ役割がまだ提供されているのですか? Q:クレームのみを使用する必要がありますか? Q:ロールとクレームを一緒に使用する必要がありますか? 私の最初の考えは、それらを一緒に「使用すべき」であるということです。私ClaimsはRoles彼らがサポートするサブカテゴリとして見ています。 例: 役割:会計 クレーム:CanUpdateLedger、CanOnlyReadLedger、CanDeleteFromLedger Q:それらは相互に排他的であることを意図していますか? Q:または、クレームのみに進み、クレームを「完全に修飾」する方が良いですか? Q:では、ここでのベストプラクティスは何ですか? 例:ロールとクレームを一緒に使用する もちろん、このために独自の属性ロジックを作成する必要があります... [Authorize(Roles="Accounting")] [ClaimAuthorize(Permission="CanUpdateLedger")] public ActionResult CreateAsset(Asset entity) { // Do stuff here return View(); } 例:申し立てを完全に修飾する [ClaimAuthorize(Permission="Accounting.Ledger.CanUpdate")] public ActionResult CreateAsset(Asset entity) { // Do stuff here return View(); }

12
リポジトリパターンとDAL
それらは同じものですか?Rob ConneryのStorefrontチュートリアルの視聴を終えたばかりで、それらは同様のテクニックのようです。つまり、DALオブジェクトを実装するときは、GetStuff、Add / Deleteなどのメソッドを使用し、後でdbを切り替えられるように、常に最初にインターフェイスを記述します。 混乱しますか?


2
Razorビューでの文字列補間?
これはサポートされていますか? もしそうなら、それを有効にするためのいくつかのトリックはありますか?Razorが十分に新しいコンパイラを使用していないと思います...?VS2015 IDEはそれで問題ないようですが、実行時に私は得ています CS1056:予期しない文字「$」
93 c#  asp.net-mvc  razor  c#-6.0 

6
ASP.NET MVCの部分ビューにパラメーターを渡す方法は?
私がこの部分的なビューを持っていると仮定します: Your name is <strong>@firstName @lastName</strong> これは、次のような子のみのアクションを通じてアクセスできます。 [ChildActionOnly] public ActionResult FullName(string firstName, string lastName) { } そして、私はこの部分的なビューを別のビューの中で使用したいと思います: @Html.RenderPartial("FullName") 言い換えれば、firstNameとlastNameをビューから部分ビューに渡すことができるようにしたいのです。どうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.