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

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

9
追加のViewDataを厳密に型指定された部分ビューに渡す
ProductImageを使用する強く型付けされたパーシャルビューがあり、それがレンダリングされるときに、それを含むページで動的に作成する追加のViewDataも提供したいと考えています。強く型付けされたオブジェクトとカスタムViewDataの両方をRenderPartial呼び出しで部分ビューに渡すにはどうすればよいですか? var index = 0; foreach (var image in Model.Images.OrderBy(p => p.Order)) { Html.RenderPartial("ProductImageForm", image); // < Pass 'index' to partial index++; }

9
サービスは常にDTOを返す必要がありますか、それともドメインモデルも返すことができますか
大規模なアプリケーションを(再)設計しています。DDDに基づく多層アーキテクチャを使用しています。 データレイヤー(リポジトリの実装)、ドメインレイヤー(ドメインモデルとインターフェイスの定義-リポジトリ、サービス、作業単位)、サービスレイヤー(サービスの実装)を備えたMVCがあります。これまでのところ、すべてのレイヤーでドメインモデル(主にエンティティ)を使用し、ビューモデルとしてのみDTOを使用しています(コントローラーでは、サービスはドメインモデルを返し、コントローラーはビューに渡されるビューモデルを作成します)。 DTOの使用、使用、マッピング、および受け渡しに関する無数の記事を読んだことがあります。明確な答えはないことを理解していますが、ドメインモデルをサービスからコントローラーに返すかどうかはわかりません。ドメインモデルを返しても、コントローラーは常にビュー固有のビューモデルを作成するため、ドメインモデルはビューに渡されません。この場合、正当なようです。一方、ドメインモデルがビジネスレイヤー(サービスレイヤー)を離れると、適切に感じられません。サービスはドメインで定義されていないデータオブジェクトを返す必要がある場合があります。その場合、マップされていないドメインに新しいオブジェクトを追加するか、POCOオブジェクトを作成する必要があります(一部のサービスはドメインモデルを返すため、これは醜いです。効果的にDTOを返します)。 問題は、ビューモデルを厳密に使用する場合、ドメインモデルをコントローラーに返すことは問題ありませんか、それとも、サービスレイヤーとの通信に常にDTOを使用する必要がありますか?その場合、必要なサービスに基づいてドメインモデルを調整しても問題ありませんか?(率直に言って、私はそうは思いません。サービスはドメインが持っているものを消費する必要があるからです。)厳密にDTOに固執する必要がある場合、サービスレイヤーで定義する必要がありますか?(私はそう思います。)DTOを使用する必要があることは明らかです(たとえば、サービスが多くのビジネスロジックを実行して新しいオブジェクトを作成する場合)。ドメインモデルのみを使用する必要がある場合もあります(たとえば、Membershipサービスが貧血のUser( s)-ドメインモデルと同じDTOを作成することはあまり意味がないようです)-しかし、私は一貫性と優れた実践を好みます。 記事ドメインvs DTO vs ViewModel-それらをいつどのように使用するか?(および他のいくつかの記事)は私の問題と非常に似ていますが、この質問には答えません。記事EFのリポジトリパターンでDTOを実装する必要がありますか?も同様ですが、DDDは扱いません。 免責事項:存在していてファンシーであるためにデザインパターンを使用するつもりはありません。一方、アプリケーション全体の設計に役立ち、分離に役立つため、優れたデザインパターンとプラクティスを使用したいと思います。特定のパターンを使用するのは難しいとしても、少なくとも現時点では「必要」ではありません。 いつもありがとうございます。

13
コントローラ内からコントローラとアクション名を取得しますか?
私たちのWebアプリケーションでは、ビューに応じて、または正確に、ビューに応じてコントローラーとアクション(およびユーザーIDはもちろん、ここでは重要ではありません)に応じて、フェッチおよび表示されたアイテムの順序を保存する必要があります。 各コントローラーアクションで自分自身に識別子を与えるだけでなく(ビューに依存するDB出力の並べ替えに使用するため)、コントローラーと取得するアクションメソッドからこの識別子を自動的に作成する方が安全で簡単だと思いましたから呼ばれた。 コントローラーのアクションメソッド内からコントローラーとアクションの名前を取得するにはどうすればよいですか?それとも反射が必要ですか?私はそれがかなり簡単であると思います、事前に感謝します!

7
Razor View Engine:式ツリーに動的操作が含まれていない可能性があります
私はこれに似たモデルを持っています: public class SampleModel { public Product Product { get; set; } } そして、私のコントローラーでは、印刷しようとすると例外が発生します @Html.TextBoxFor(p => p.Product.Name) これはエラーです: Exception: An expression tree may not contain a dynamic operation 誰かがこれを修正する方法についていくつかの手掛かりを私に与えることができるならば、私は本当にそれを感謝します!

6
ASP.NET WebAPIでファイル(FileContentResult)を返す方法
通常のMVCコントローラーでは、pdfをで出力できますFileContentResult。 public FileContentResult Test(TestViewModel vm) { var stream = new MemoryStream(); //... add content to the stream. return File(stream.GetBuffer(), "application/pdf", "test.pdf"); } しかし、どうすればそれをに変更できApiControllerますか? [HttpPost] public IHttpActionResult Test(TestViewModel vm) { //... return Ok(pdfOutput); } これが私が試したものですが、うまくいかないようです。 [HttpGet] public IHttpActionResult Test() { var stream = new MemoryStream(); //... var content = new StreamContent(stream); …

26
ASP.NET MVC:このオブジェクトにはパラメーターのないコンストラクターが定義されていません
Server Error in '/' Application. -------------------------------------------------------------------------------- No parameterless constructor defined for this object. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.MissingMethodException: No parameterless constructor …

15
データ入力後に文字列をトリムする最良の方法。カスタムモデルバインダーを作成する必要がありますか?
私はASP.NET MVCを使用しており、ユーザーが入力したすべての文字列フィールドをデータベースに挿入する前にトリミングしたいのですが。また、多くのデータ入力フォームがあるため、ユーザーが指定したすべての文字列値を明示的にトリミングする代わりに、すべての文字列をトリミングするエレガントな方法を探しています。人々がいつ、どのように弦をトリミングしているのか知りたいです。 おそらくカスタムモデルバインダーを作成し、そこで文字列値をトリミングすることを考えました...そのようにして、すべてのトリミングロジックが1つの場所に含まれています。これは良いアプローチですか?これを行うコードサンプルはありますか?

30
テスト方法が決定的ではありません:テストは実行されませんでした。エラー?
テストクラスがあり、以下にテストクラスのサンプルテストを投稿しました namespace AdminPortal.Tests.Controller_Test.Customer { [TestClass] public class BusinessUnitControllerTests { private IBusinessUnitRepository _mockBusinessUnitRepository; private BusinessUnitController _controller; [TestInitialize] public void TestInitialize() { _mockBusinessUnitRepository = MockRepository.GenerateMock<IBusinessUnitRepository>(); _controller = new BusinessUnitController(_mockBusinessUnitRepository); } [TestCleanup] public void TestCleanup() { _mockBusinessUnitRepository = null; _controller.Dispose(); _controller = null; } #region Index Action Tests [TestMethod] public void Index_Action_Calls_GetAllBusinessUnit() { …

9
ASP.Net MVCでコントローラーの要求をモックする方法は?
ASP.Net MVCフレームワークを使用したC#のコントローラーがあります public class HomeController:Controller{ public ActionResult Index() { if (Request.IsAjaxRequest()) { //do some ajaxy stuff } return View("Index"); } } 私はモックに関するいくつかのヒントを得て、以下とRhinoMocksでコードをテストしたいと思っていました var mocks = new MockRepository(); var mockedhttpContext = mocks.DynamicMock<HttpContextBase>(); var mockedHttpRequest = mocks.DynamicMock<HttpRequestBase>(); SetupResult.For(mockedhttpContext.Request).Return(mockedHttpRequest); var controller = new HomeController(); controller.ControllerContext = new ControllerContext(mockedhttpContext, new RouteData(), controller); var result …

5
ASP.NET MVCコントローラーから外部URIにリダイレクトする
アクションメソッドから外部URLにリダイレクトしようとしていますが、機能しません。誰かが私のエラーにいくつかの光を当てることができますか? public void ID(string id) { string url = string.Empty; switch (id) { case "DB2FCB11-579F-4DA2-A68C-A6495B9BAAB5": url = "http://www.somesite.com"; break; } Response.Redirect(url, true); } ありがとう、クリス

5
ASP.NET MVC:UrlHelperを使用するユニットテストコントローラー
私のコントローラーアクションの1つであるAjaxリクエストで呼び出されるアクションは、リダイレクトを実行できるようにクライアント側にURLを返します。私は使用Url.RouteUrl(..)していController.Urlますが、ユニットテスト中にパラメーターが事前入力されていないため、これは失敗します。 私は、スタブにしようと他の人の間で、多くのことを試してみましたUrlHelper手動で作成し、(失敗した)UrlHelperとRequestContextスタブ持っているHttpContextBase(上の失敗したRouteCollection.GetUrlWithApplicationPathコール)。 私はGoogleを検索しましたが、事実上何も見つかりませんでした。Url.RouteUrl私のコントローラーアクションで信じられないほど愚かなことをしていますか?もっと簡単な方法はありますか? さらに悪いことに、ユニットテストで返されたURLをテストできるようにしたいのですが、実際には、正しいルートにリダイレクトされていることだけを知りたいのですが、ルート、解決されるURLを制御したいと思います(例:stubbedを使用してRouteCollection)-しかし、最初にテストに合格させていただきます。

5
MVCとRazorのHtml.TextboxForとHtml.EditorForの違い
新しい「編集」ビューを追加すると、なぜデフォルトでこれらが変更されたのですか?使用する際の利点は何ですかEditorFor()対をTextboxFor()? 私はこれを見つけました デフォルトで、CreateおよびEdit足場は、Html.TextBoxForヘルパーの代わりにHtml.EditorForヘルパーを使用するようになりました。これにより、[ビューの追加]ダイアログボックスがビューを生成するときに、データアノテーション属性の形式でモデルのメタデータのサポートが向上します。

4
asp.net MVCの@RenderSectionとは
@RenderSectionの目的は何ですか、それはどのように機能しますか?バンドルが何をするのかは理解していますが、これが何をするのかはまだわかりません。おそらくそれが重要でしょう。 @RenderSection("scripts", required: false) おそらくそれを使用する方法の小さな例ですか?
170 asp.net-mvc 

10
ASP.NET MVCのセッション変数
ユーザーが特定のリクエストを行うWebサイト内の複数のWebページを閲覧できるようにするWebアプリケーションを作成しています。ユーザーが入力するすべての情報は、私が作成したオブジェクトに格納されます。問題は、このオブジェクトにWebサイトのどの部分からでもアクセスする必要があり、これを達成するための最良の方法が本当にわからないことです。1つの解決策はセッション変数を使用することですが、asp .net MVCでそれらを使用する方法はわかりません。そして、どこでセッション変数を宣言しますか?他に方法はありますか?

11
Html.ActionLink()内にHTMLを配置し、さらにリンクテキストなし?
2つの質問があります。 Html.ActionLink()MVCビューで使用しているときにリンクテキストを表示できないのではないかと思っています(実際、これはですSite.Master)。 リンクテキストを許可しないオーバーロードバージョンはありません。空白のみを渡そうとすると、空stringではない文字列が必要であるとコンパイラーから通知されます。 どうすれば修正できますか? <span>アンカータグ内にタグを配置する必要がありますが、では機能しませんHtml.ActionLink();。次の出力を確認したいのですが。 スパンテキスト ASP.NET MVCのアンカータグ内にタグを配置するにはどうすればよいですか?

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