問題タブ [asp.net-mvc-areas]
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 で現在の領域外の AREA から EditorTemplates を使用するにはどうすればよいですか?
2 つのエリアを持つプロジェクトを考えてみましょう。
/エリア/ブログ /エリア/ダッシュボード
ここで、ブログ エリアに SpecialBlog タイプのエディターがあるとします。/エリア/ブログ/ビュー/ブログ/EditorTemplates/SpecialBlog.ascx
ダッシュボード エリアの一部であるビューに特別なブログを表示したい場合はどうすればよいですか?
次のコードは、「ブログ」エリア内のビューから機能しますが、「ダッシュボード」エリアからは機能しません。
パスを提供しても失敗し、
私が仕事を得ることができる唯一のことは
しかし、SpecialBlog 内のルーティングは失敗します。(つまり、ブログ エリア内の他のエディター テンプレートへの独自の Html.EditorFor 呼び出しがあります)。
私は根本的に間違ったことをしていますか?
asp.net-mvc - MVC エリアと URL 書き換え
PlanningBoardController と呼ばれるコントローラーとビューを持つ PlanningBoard と呼ばれるエリアがありますin \areas\PlanningBoard\Views\PlanningBoard\Index.aspx
。
ただし、私のURLには次のように書かれています。http://localhost:55736/PlanningBoard/PlanningBoardですが、 http://localhost:55736/PlanningBoardと言いたいです。
エリアについてかなり大きな点が欠けているに違いないことはわかっていますが、現時点ではわかりません。
ここで何か助けていただければ幸いです。
asp.net-mvc-areas - ASP.NET MVC3 エリアと Razor ビューでこのエラーが発生するのはなぜですか?
'~/Areas/SomeArea/Views/List/Index.cshtml' のビューは、ViewPage、ViewPage、ViewUserControl、または ViewUserControl から派生する必要があります。
プロジェクト構造はほとんどデフォルトです。SomeArea と呼ばれるエリアが 1 つあります。List と呼ばれる単一のコントローラーがあります。それ以外は何もしません:
ビューは次のようになります。
ファイル全体を部分的に空にしようとしましたが、何も役に立たないようです。コントローラーを作成して領域外に表示すると、問題なく動作します。デフォルトのカミソリ ビュー エンジンが現時点で領域をサポートしていない可能性はありますか?
編集: エリアが登録されます。
c# - ASP.NET MVC 2のエリアレベルで[承認]することは可能ですか?
[Authorize]
アクセスを制限するためにコントローラーとアクションの属性を叩くのは素晴らしいことです。
MVC 2のエリア全体で同等のことを行うことは可能ですか?すべてのコントローラー全体に散らかすのではなく、役割/ユーザー/中央の場所にあるものに応じて、エリア全体のアクセスを制限できる場所はどこですか?
authentication - ASP.NETMVC2アプリケーションの認証の第2層
一部はMVCに含まれているASP.NETアプリケーションがあります(残りはレガシーWebフォームベースのCMSです)。アプリケーションはFormsAuthenticationを介して認証されますが、特定のIPアドレスのセットからアプリケーションにアクセスするユーザーは、自動的に「特別な」ユーザーに割り当てられます。
現在、(親の)MVCアプリケーションにエリアとして持ち込みたい理想的な子アプリケーションがあります。このアプリケーションは、認証の第2層としてWindows認証を使用します。認証の第2層を保持する簡単な方法はありますか(おそらく第2の承認属性によって)?これは、ユーザーが、ストレートフォーム認証を除外する特殊フォーム認証ユーザーに使用されるIPアドレスのセットの内外の両方からこのアプリケーションにログインできることを念頭に置いています。また、これがより簡単な解決策になるのであれば、この2番目のレイヤーのWindows認証に必ずしも縛られているわけではありません。
asp.net-mvc - ASP.NET MVC 2 ルートのエリア名にスラッシュを追加する
現在、ASP.NET MVC 2 プロジェクトの呼び出し 'API' にエリアがあり、これは自明です。
Web アプリケーションの API が成熟するにつれ、アドレスにバージョン番号を追加する必要がすぐに出てきます。すなわち/
それ以外の :
http://site/API/
必要になります
ASP.NET MVC (2) でこれを達成するためのベスト プラクティスは何ですか?
現在、Area 呼び出しApi_1_0
を試しており、その MapRoute を次のように変更しています。
しかし、URL に余分なスラッシュがあると実行時エラーが発生するようです。
asp.net-mvc - ポータブル領域の ASP.NET MVC パーシャルが見つかりません
ビューにパーシャルを含めようとしています。部分とビューの両方が MVC ポータブル領域にあります。ビュー内のコードは次のとおりです。
これが部分的なものです (Here.ascx という名前で、私のポータブル領域の共有フォルダーにあります):
結果: 部分ビュー 'Here' が見つかりませんでした。このパーシャルへの相対パスも指定しようとしましたが、うまくいきませんでした。何か案は?
asp.net-mvc-2 - MVC プロジェクトに関連付けられたエリアを取得する
MVC プロジェクトの領域の名前を取得する方法はありますか?
ここに私が考えることができるいくつかの方法があります:
a) ソースがあれば、プロジェクト フォルダー構造をブラウズして、Areas フォルダーの下のフォルダーを列挙できます。ただし、各サブフォルダーの下に Controllers フォルダーと Views フォルダーも列挙しない限り、すべてのフォルダーが領域を表しているとは限りません。お分かりのように、このアプローチは最悪です。
b) バイナリから、条件に一致するすべての名前空間を列挙できましたRootNamespaceOfProject.Areas.*
。
または、もっとエレガントな方法があると確信しています。ASP.NET MVC フレームワークには、すべての領域の記録を保持するディクショナリが必要です。
次に、MVC フレームワークには、領域を表すプログラム構造もありますか? 見つからないようです。領域に関連する構成要素は 4 つだけです。
ある場合、たとえば、その領域内のすべてのコントローラーを列挙することは可能でしょうか?
編集済み
MVC-AreaRegistrationTypeCache.xml
\Windows\Microsoft.NET\Framework\v4.xx\Temporary ASP.NET Files\root\RandomlyGeneratedHash1\RandomlyGeneratedHash2\UserCache フォルダーにこのファイルが呼び出されていることに気付きました。
このフォルダーには 2 つのファイルがあります。
a) MVC-AreaRegistrationTypeCache.xml : このファイルには、領域を持つマシン上のすべてのアセンブリ内のすべての領域のリストが含まれています。
b) MVC-ControllerTypeCache.xml : このファイルには、アセンブリの領域内のコントローラーが一覧表示されます。
ここで確認すべき唯一のことは、MVC フレームワークにこれらのファイルを読み取らせ、特定の領域がバイナリに存在するかどうかを知らせるプログラム的な方法があるかどうかです。
私はクラスがそのAreaRegistration
クラスかもしれないと考えています。さらに調べてみると…
visual-studio - MVC 2 プロジェクトの Visual Studio の既定の動作を変更する
次のようなネストされた領域を持つ MVC 2 プロジェクトを作成しました。
エリア登録ファイルのエリア名を単に「C」ではなく「A/C」に変更する限り、これは機能し、すべてのコントローラー/ビューを正しく検出します。ただし、Visual Studio の既定の動作は、このプロジェクト レイアウトでは正しくありません。「A/C/Controllers」内のコントローラーにアクション メソッドを追加し、右クリックして「ビューの追加」を選択すると、VS はフォルダーとファイル「A/Views/{controller}/{action}.aspx」を作成します。 「A/C/Views/{controller}/{action}」の
このデフォルトの動作を変更する方法はありますか? おそらく、デフォルトの動作をオーバーライドするアドオンを作成しますか? 私は.NETとVS 2010にかなり慣れていないので、どんな助けも大歓迎です。
asp.net-mvc-2 - ASPNET MVC: 特定の領域 (ルート構造ではなく) に配置されたページをデフォルトとして作成できますか?
アプリケーションの起動時にアクション (表示されるページ) がルート構造ではなく、選択した特定の領域に配置されるように、アプリケーションを構成する方法と場所を教えてください。
Action = " IndexOfArticles "、Controller = " Articles "、Area = " News "としましょう。アプリケーションを起動したときに、この設定をデフォルトにしたいです。
私はNewsAreaRegistrationクラスに取り組み、上記の構成をセットアップしました。今、それを機能させるには、Global.asx.cs でも何かをする必要があると思いますが、何をすべきかわかりません。
編集
これが私の言いたいことです
たとえば、上記のコードでは、 HomeコントローラーにあるIndexアクションを実行してアプリケーションを開始します。それは私が望むものではありません。助けてくれてありがとう。