問題タブ [actionmethod]
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.
.net - ASP.NETMVCアクションメソッドでどのような賢いことをしましたか
ASP.NET MVCコントローラーのアクションメソッドは、主に「ビジネス」操作の処理に使用されますが、さらに多くの用途に使用できます。
人々がそのために行動を起こした創造的で有用なものが、他の人にとって実用的または有用であるかもしれないのを見るのは楽しいだろうと思いました。
これが私の貢献です:
Javascriptファイルコンカテネーター-httpリクエストの数を減らすには:
それへのルートをマップします:
マスターページから参照してください:
出力にキャッシュを設定したので、JSを変更してページを更新する場合は、キャッシュを無効にすることをお勧めします。
私は戻ってきて、それをgzipで圧縮する方法を理解する必要があります。
*
VaryByParam = "None"を使用しないでください。これにより、Varyヘッダーが送信され、ブラウザーが戻って新しいバージョンを確認します。あなたが本当にあなたのjsコンテンツを変更しなければならないなら、あなたのユーザーはそれを5分待たなければならないだけです!
.net - 1つのアクションメソッドパラメータを表す2つの異なるクエリ文字列パラメータを渡すにはどうすればよいですか?
私は次のようなアクションメソッドを持っています
したがって、このアクションメソッドはいくつかのデータを返します。これらのデータは、またはのいずれかでフォーマットできますVersion 1
(Version 2
出力が何であれ...それらがスキーマ的に異なることを知っているだけです)。
したがって、ユーザーがこのリソースへのアクセスを呼び出したい場合、次のようになります。
難しいことは何もありません。
彼らもこれを行うことができます...
しかし、ユーザーがクエリ文字列パラメータを使用できるようにすることは可能ですversion
か?v
これにより、ActionMethodのバージョンパラメータが設定されます。可能?
post - 1 つのビュー/フォームで 2 つのボタン送信アクションを処理する - ASP.NET MVC 2 RTM
ユーザーがファイルをサーバーにアップロードできるビューがあります。
このビューには、ファイルをアップロードするボタンと、最後にインポートしたファイルをダウンロードするボタンの 2 つのボタンもあります。
コントローラーで、インポートとエクスポートの 2 つのアクション メソッドを作成しました。
各ボタンのクリックをコントローラーの適切なアクションメソッドにリダイレクトするにはどうすればよいですか?
私は Html.ActionLink を試しました:
Html.ActionLink はうまくいきませんでした。アクション リンクは正しいアクション メソッドに移動していましたが、GET 要求を生成していました。このように Request.Files.Count = 0.
POST リクエストが必要です。
注: 最も興味深いのは、アップロードが機能していたのに、突然機能しなくなったことです。Request.Files が常に空である FileUpload タスクで同じ問題を抱えている人がいるのを見てきました。サーバーへの投稿が必要なので、空だと思います。ではない?
c# - ASP.NETMVC-URLからの追加パラメーターを使用したPOSTアクションメソッド
ASP.net MVCを使用すると、フォームではなくURLからのパラメーターを含むコントローラーアクションにフォームをPOSTすることができますか?
例えば
GroupControllerのActionメソッド:
ルート:
投稿されたURL:
この例では、フォームは別のコントローラーに送信されており、モデルの値は正しいですが、他のパラメーターのデフォルト値は0です。
私が期待していた動作は、ModelBinderが、指定されたルートに一致する2つのパラメーターがあることを認識し、GET操作が機能するのと同じ方法でパラメーターに1と42の現在の値を割り当てることです。
この動作はサポートされていませんか、それとも何かが足りませんか?
編集:明確にするShow
ために、コントローラーのビューEmployee
のフォームには、別のコントローラーに投稿しているフォームが含まれています。私たちはそれを呼ぶことができますGroup
。
フォームアクションのURLは次のようになります
フォームは次のように宣言されます
のために多くの異なるオーバーロードを試した後Html.BeginForm
、フォームアクションURLがブラウザのアドレスバーの現在のURLと一致する場合にのみパラメータがマップされることがわかりました。
したがって、URL/Groups/Create/1/42
に移動すると、新しいフォームが表示されます。次にフォームを送信すると、URLルート値がPOSTアクションに渡されます。
c# - ASP.NET MVC AuthorizeAttributeは値をActionMethodに渡しますか?
私は ASP.NET MVC の初心者にすぎず、特定のタスクを「正しい方法」で達成する方法がわかりません。
基本的に、ログインした userId を HttpContext.User.Identity に保存し、EnhancedAuthorizeAttribute
いくつかのカスタム認証を実行するように記述しました。
オーバーライドされたOnAuthorization
メソッドでは、ドメイン モデルがデータベースにヒットし、現在のユーザー ID が渡された routeValue "BatchCode" にアクセスできるようにします。プロトタイプは次のとおりです。
ユーザーが ReviewGroup にアクセスできず、OnAuthorization がアクセスを拒否した場合は、null が返されます。
これで、装飾されたアクション メソッドは OnAuthorization がパスした場合にのみ実行されることがわかりましたが、ReviewGroup を再度取得するためにデータベースに 2 回アクセスしたくありません。
現時点では、ReviewGroup を格納しHttpContext.Items["reviewGroup"]
、コントローラーからこれにアクセスすることを考えています。
これは実行可能な解決策ですか、それとも間違った道を進んでいますか?
ありがとう!
asp.net-mvc-2 - ASP.NET MVC URL ルーティングの問題
私は以下のようにルートを定義しました:
およびそれと一致するリクエストを処理するアクション メソッド:
そしてフォームからアクションメソッドにパラメータを送信します:
送信をクリックしてアクションメソッドに値を送信した後、すべてのルート値が更新されましたが、URL 値は最初の送信パラメータと同じままです。たとえば、最初にhttp://localhost/search/web/googleなどのリクエストを送信し、次回は http://localhost/search/web/yahooを送信した場合、アクション メソッドに渡されるクエリ パラメータは yahoo ですが、その後の URL はポストバックは まだhttp://localhost/search/web/googleです!
誰でも私を助けてくれますか?;)
asp.net-mvc - コントローラー(ASP.net MVC)の各ActionMethodに説明を添付するにはどうすればよいですか?
そこで最近、コントローラー(およびそのIndex ActionMethod)が各ページの上部にある水平バーに(Site.Masterを介して)リストされるナビゲーションバーメニューを動的に構築する方法を思いつきましたが、ユーザーに割り当てられた役割。リストされた各コントローラーは、ユーザーが使用できるActionMethodsも(垂直ドロップダウンで)リストします。
上記の問題を解決するASP.NETMVCの拡張コントローラークラスを作成するために作成したコードについては、こちらを参照してください。
使用可能なすべてのActionMethodと各ActionMethodの短い1文または2文の説明を一覧表示する、各コントローラーのデフォルトのインデックスページも自動的に作成したいのですが、ActionMethodに説明を添付する方法を考えていました。
私の仮定は、私が3つのことをする必要があるということです:
(1)独自の属性、たとえば説明を作成し、各コントローラーの各ActionMethodを次のように装飾します。
(2)基本クラス(ExtController)にパブリックActionResult Index()メソッドを作成します。これは、ExtControllerを継承するすべてのクラスで使用され、そのユーザーが使用できるActionMethodsとその説明のリストを表示します。
(3)そのようなページを作成するIndex.aspxビューをViews/Sharedに作成します。
これは賢明なアプローチですか?これを行うためのより良い方法はありますか?
c# - アクション メソッドから最も具体的な型または最も一般的な型を返す方がよいでしょうか?
どちらのメリットまたはデメリットは何ですか?
asp.net - コントローラメソッドのパラメータのデフォルト値はすべてをオーバーライドしています
こんにちは私はmvc2の学習を始めたばかりで、パラメータページのデフォルト値に問題があります(以下の方法を参照してください)。
URLに何を入力しても、常に0です。たとえばこれ
h.ttp:// localhost:52634 / Products / List / 2
ページ2を表示する必要がありますが、デバッグモードの場合、ページパラメータは0であるため、常にリストの最初のページが表示されます。
新しいmvc2プロジェクトを開始するときに、グローバルasaxで事前定義された標準ルートを使用しています。
私は何かが足りないのですか?
c# - 「」をRenderActionに渡すと、なぜこのビューモデルにデータが入力されるのですか?
システムのすべてのページに存在するウィジェットコントロールを実装しようとしています。これにより、ユーザーは各ページで基本的な検索とディレクトリ機能を利用できるようになります。これは以下に定義されているタブコントロールです。<ul>
現在選択されているタブはの値によって決定され、Model.CurrentTab
表示したい(基本的には表示したい)対応するコンテンツもその値によって決定されます。
Search
両方をロードしたい理由Directory
は、クリックしたタブに応じてページがコンテンツを要求する必要がないようにするためです。すべてをすぐに利用できるようにしたいと思います。
私が抱えている問題CurrentTab
は、値 "Directory"が含まれている場合、これは(私が想定Html.RenderAction("SearchBox"...
した)空の文字列を渡す必要があることを意味します。しかし、アクションメソッドに到達すると、渡されるビューモデルにSearchBox
は値が含まれ、""
なぜこれが起こっているのか分かりません。空の文字列をに渡してもSearchBox
、ビューモデルには値が含まれています。誰かが何が起こっているのか説明してもらえますか?これを別の方法で行う必要がありますか?
アップデート:
両方DirectoryViewModel
とSearchViewModel
というプロパティが含まれていますSearch