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

ASP.NET MVC 3は、.NETフレームワークでWebアプリケーションを開発するためのModel-View-Controller拡張機能の3番目のメジャーバージョンです。

4
使い方 ?:Razorおよびインラインコードブロックを含むifステートメント
新しいRazoreビューエンジンで古い.aspxビューを更新しています。私はこのようなコードがある場所がたくさんあります: <span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span> 理想的にはこれを行いたいです: <span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span> ただし、ここには2つの問題があります。 vote-up@{puzzle.UserVote .... @記号をコードブロックの開始として扱いません @puzzle.UserVote == VoteType.Up@puzzle.UserVote変数の値をレンダリングすることになっているように最初の部分を調べます。 誰もがこれらの問題に対処する方法を知っていますか?

7
MVC 3:Ajax経由で読み込まれたときに、レイアウトページなしでビューをレンダリングする方法
プログレッシブエンハンスメントについて学び、AJAX化の見解について質問があります。MVC 3プロジェクトには、レイアウトページ、ビュースタートページ、2つのプレーンビューがあります。 viewstartページはViewsフォルダーのルートにあるため、すべてのビューに適用されます。すべてのビューが_Layout.cshtmlレイアウトページに使用する必要があることを指定します。レイアウトページには、各ビューに1つずつ、合計2つのナビゲーションリンクが含まれています。リンクは@Html.ActionLink()、ページへのレンダリングに使用されます。 今私はjQueryを追加し、これらのリンクを乗っ取り、Ajaxを使用してページにコンテンツを動的にロードしたいと考えています。 <script type="text/javascript"> $(function () { $('#theLink').click(function () { $.ajax({ url: $(this).attr('href'), type: "GET", success: function (response) { $('#mainContent').html(response); } }); return false; }); }); </script> これを行うには、2つの方法が考えられますが、どちらも特に好きではありません。 1)ビューのコンテンツ全体を取得して、それらを部分ビューに配置し、レンダリングされたときにメインビューに部分ビューを呼び出させることができます。こうすることRequest.IsAjaxRequest()で、コントローラーで使用して、要求がAjax要求であるかどうかに基づいて戻るView()か戻ることができPartialView()ます。Ajaxリクエストに通常のビューを返すことはできません。それは、レイアウトページを使用し、レイアウトページの2番目のコピーが挿入されるためです。ただし、@{Html.RenderPartial();}標準のGETリクエストでは、aのみを含む空のビューを作成する必要があるため、これは好きではありません。 public ActionResult Index() { if (Request.IsAjaxRequest()) return PartialView("partialView"); else return View(); } 次に、Index.cshtmlで次のようにします。 @{Html.RenderPartial("partialView");} 2)_viewstartからレイアウト指定を削除し、リクエストがAjaxでない場合は手動で指定できます。 public ActionResult Index() { …


30
タイプまたは名前空間名「DbContext」が見つかりませんでした[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する 私はASP.NET MVC(3)を初めて使用し、Visual Studioでビルドエラーを解決するのに苦労しています。 タイプまたは名前空間名 'DbContext'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace MyProjectName.Models { public class MachineModel { // name [Required] [Display(Name = "Nom de la machine")] public string Name { get; set; } // IP [Required] [RegularExpression(@"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", ErrorMessage = …

5
@using宣言の代わりにRazorページに追加の名前空間を追加するにはどうすればよいですか?
pages/namespaceswebconfigの要素の名前空間を取得するために使用する必要がある魔法のようなものはありますか? <pages> <namespaces> <add namespace="System.Web.Mvc"/> <add namespace="System.Web.Mvc.Ajax"/> <add namespace="System.Web.Mvc.Html"/> <add namespace="System.Web.Routing"/> <add namespace="System.Web.WebPages"/> <add namespace="System.Web.Helpers"/> <add namespace="MyCustomHelpers"/> </namespaces> </pages> 上記は動作したくないだけです。名前空間は@using MyCustomHelpers、ページの上部に配置すると魔法のように機能するため、問題ありません。 これにより、すべてのページの上部Html.SomeFunction()に配置@usingしなくてもを機能させることができます


6
asp.net MVC3のカスタムエラーページ
MVC3ベースのWebサイトを開発していて、エラーを処理するためのソリューションと、エラーの種類ごとにカスタムビューをレンダリングする方法を探しています。そこで、「アクション」が「インデックス」(一般的なエラーページ)である「エラー」コントローラがあり、このコントローラが「Handle500」や「HandleActionNotFound」などのユーザーに表示される可能性のあるエラーに対するアクションをさらにいくつか持っているとします。 したがって、Webサイトで発生する可能性のあるすべてのエラーは、この「エラー」コントローラ(例:「コントローラ」または「アクション」が見つからない、500、404、dbExceptionなど)によって処理される可能性があります。 サイトマップファイルを使用して(ルーティングではなく)Webサイトパスを定義しています。 この質問はすでに回答されています。これはGweebzへの返信です 私の最後のapplicaiton_errorメソッドは次のとおりです。 protected void Application_Error() { //while my project is running in debug mode if (HttpContext.Current.IsDebuggingEnabled && WebConfigurationManager.AppSettings["EnableCustomErrorPage"].Equals("false")) { Log.Logger.Error("unhandled exception: ", Server.GetLastError()); } else { try { var exception = Server.GetLastError(); Log.Logger.Error("unhandled exception: ", exception); Response.Clear(); Server.ClearError(); var routeData = new RouteData(); routeData.Values["controller"] = "Errors"; routeData.Values["action"] …

5
Razor _layout.cshtmlにファイル名の先頭にアンダースコアがあるのはなぜですか?
デフォルトのASP.NET MVC 3プロジェクトでは、レイアウトと一部のcshtmlファイルはアンダースコアで始まります _viewstart _Layout _LogOnPartial なぜこの規則、そしてこれは何のために使われるのですか?この規則に従う必要がありますか? フレームワーク.cshtmlは、アンダースコアで始まるファイルに特別な意味を与えますか?

5
RestSharp JSONパラメータの投稿
MVC 3 APIに対して非常に基本的なREST呼び出しを行おうとしていますが、渡したパラメーターがアクションメソッドにバインドされていません。 クライアント var request = new RestRequest(Method.POST); request.Resource = "Api/Score"; request.RequestFormat = DataFormat.Json; request.AddBody(request.JsonSerializer.Serialize(new { A = "foo", B = "bar" })); RestResponse response = client.Execute(request); Console.WriteLine(response.Content); サーバ public class ScoreInputModel { public string A { get; set; } public string B { get; set; } } // …

6
タイムゾーンをエレガントに扱う方法
アプリケーションを使用しているユーザーとは異なるタイムゾーンでホストされているWebサイトがあります。これに加えて、ユーザーは特定のタイムゾーンを持つことができます。他のSOユーザーとアプリケーションがこれにどのように取り組むかと思っていましたか?最も明白な部分は、DB内で日付/時刻がUTCに格納されることです。サーバー上では、すべての日付/時刻はUTCで処理する必要があります。しかし、私が克服しようとしている3つの問題を見つけました。 UTCでの現在の時刻の取得(で簡単に解決DateTime.UtcNow)。 データベースから日付/時刻を取得し、ユーザーに表示します。さまざまなビューで日付を印刷する呼び出しが潜在的にたくさんあります。この問題を解決できるビューとコントローラーの間にあるレイヤーを考えていました。または、カスタム拡張メソッドをオンにしますDateTime(以下を参照)。主な欠点は、ビューで日時を使用するすべての場所で、拡張メソッドを呼び出す必要があることです。 これにより、のようなものを使用するのも難しくなりJsonResultます。あなたはもはや簡単に呼び出すことができませんでしたJson(myEnumerable)、それはそうでなければなりませんJson(myEnumerable.Select(transformAllDates))。たぶん、AutoMapperはこの状況で役に立ちますか? ユーザーからの入力の取得(ローカルからUTC)。たとえば、日付を含むフォームをPOSTするには、日付を以前にUTCに変換する必要があります。最初に頭に浮かぶのは、カスタムの作成ModelBinderです。 以下は、ビューで使用することを考えた拡張機能です。 public static class DateTimeExtensions { public static DateTime UtcToLocal(this DateTime source, TimeZoneInfo localTimeZone) { return TimeZoneInfo.ConvertTimeFromUtc(source, localTimeZone); } public static DateTime LocalToUtc(this DateTime source, TimeZoneInfo localTimeZone) { source = DateTime.SpecifyKind(source, DateTimeKind.Unspecified); return TimeZoneInfo.ConvertTimeToUtc(source, localTimeZone); } } サーバーのローカル時刻が予想されるタイムゾーンと大きく異なる可能性がある多くのアプリケーションがクラウドベースになっていることを考えると、タイムゾーンの処理は非常に一般的なことだと思います。 これは以前にエレガントに解決されましたか?私が見逃しているものはありますか?アイデアや考えは大歓迎です。 編集:混乱を解消するために、もう少し詳細を追加すると思いました。問題は、今ではありませんどのようにそれがよりUTC->ローカルおよびローカルから> UTCから行くのプロセスについてです、デシベルでUTC時刻を格納します。@Max Zerbiniが指摘するように、ビューにUTC-> Localコードを配置するのは明らかに賢明ですが、DateTimeExtensions実際に答えを使用していますか?ユーザーから入力を受け取るとき、日付をユーザーのローカル時間として受け入れ(JSが使用しているModelBinderため)、それを使用してUTCに変換することは理にかなっていますか?ユーザーのタイムゾーンはDBに保存され、簡単に取得できます。

3
完全なエラーメッセージを表示するようにweb.configファイルを設定する方法
MVC-3アプリケーションをWindows Azureにデプロイしました。しかし、今を通じて、私はそれを要求していたときにstaging url、それは私を示した(リクエストの処理中にエラーが発生しました。) 。エラーメッセージ全体を確認したいのですが、セキュリティ上の理由から、デフォルトでは非表示になっています。web.configファイルを使用してこれを実行できることを知っています。しかし、どうやって?

8
アクションフィルター属性からリダイレクト
でリダイレクトを行うための最良の方法は何ですかActionFilterAttribute。私はActionFilterAttribute呼び出されIsAuthenticatedAttributeFilter、セッション変数の値をチェックしました。変数がfalseの場合、アプリケーションがログインページにリダイレクトされるようにします。ルート名を使用してリダイレクトしSystemLoginたいのですが、この時点でのリダイレクト方法は問題ありません。

16
特定の状況で必須の検証属性を無効にする
特定のコントローラーアクションで必須検証属性を無効にできるかどうか疑問に思っていました。編集フォームの1つで、ユーザーが以前に指定したフィールドに値を入力する必要がないので、これは不思議に思っています。ただし、その後、値を入力するときに、値のハッシュなどの特別なロジックを使用してモデルを更新するロジックを実装します。 この問題を回避する方法に関する提案はありますか? 編集: そして、はい、クライアントの検証はここで問題になります。値を入力しないとフォームを送信することができないからです。

5
ASP.NET:このメソッドは、アプリケーションの起動前初期化段階では呼び出すことができません
IIS 6.0で実行されているASP.NET MVC 3サイトを取得しようとしています。 現在、サーバーにページをリクエストすると、次のエラーが発生します。 パーサーエラーメッセージ:このメソッドは、アプリケーションの開始前の初期化段階では呼び出すことができません。 この行で: <add name="MyMembershipProvider" type="NS.MyMembershipProvider" connectionStringName="MyDatabase" applicationName="/MySite"/> 私は完全に困惑しており、6.0と7.0の違いは言うまでもなく、ASP.NETアプリケーションのライフサイクルについての手がかりはほとんどありません。それに関するMSDNページを読むことはあまり役に立たないようです。 誰かが洞察や調査のための良いリンクを持っていますか?:)

4
ジェネリックメソッド複数(OR)タイプ制約
これを読んで、メソッドをジェネリックメソッドにすることで、メソッドが複数の型のパラメーターを受け入れることができるようになることを学びました。この例では、次のコードをタイプ制約とともに使用して、「U」がであることを確認していIEnumerable<T>ます。 public T DoSomething<U, T>(U arg) where U : IEnumerable<T> { return arg.First(); } 次のような複数の型制約を追加できるいくつかのコードを見つけました。 public void test<T>(string a, T arg) where T: ParentClass, ChildClass { //do something } しかし、このコードは、それが強制するように見えるargのタイプの両方でなければならないParentClass と ChildClass。私がしたいのは、argが次のようなタイプParentClass または ChildClass次の方法である可能性があるということです。 public void test<T>(string a, T arg) where T: string OR Exception { //do something } あなたの助けはいつものように感謝されます!
135 c#  asp.net-mvc-3  types 

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