問題タブ [viewusercontrol]
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 - 部分ビューで MVC 2 の厳密に型指定されたヘルパーを使用できますか?
新しい強く型付けされたヘルパーを使用しようとしています。コントロールでモデルを継承しました: Inherits="System.Web.Mvc.ViewUserControl"
しかし、インテリセンスはモデルを公開しておらず、コードを強制するとページは満足しません。標準のビューでそれを行うと、すべてがうまくいきます。これは私ができることを期待していることです:
これらのヘルパーは、この方法で部分ビューで使用できますか?
ロイド
c# - ユーザーコントロールMVCおよびC#の現在のコンテキストに、名前「html」も名前「モデル」も存在しません
Microsoft MVC と C# を使用しています。ユーザーコントロール(example.ascx)を作成し、上部に継承していますSystem.Web.MVC.ViewUserControl<PostTransferViewModel>
ここで、モデル名が ViewUserControl に追加されますが、「名前 'Model' は現在のコンテキストに存在しません」および「名前 'Html' は現在のコンテキストに存在しません<PostTransferViewModel>
。 ViewUserControl その後、すべて正常に動作しますが、必要<PostTransferViewModel>
です。
asp.net-mvc - Html.RenderPartialを使用して派生した部分ビューをレンダリングする
Html.RenderPartial("~/Views/Payments/MyControl.ascx");
MyControl.ascxがを直接継承するコントロールである場合、ビューからの呼び出しは機能しますSystem.Web.Mvc.ViewUserControl
。
ただし、コントロールがから派生した新しいクラスをSystem.Web.Mvc.ViewUserControl
継承する場合、への呼び出しは Html.RenderPartial("~/Views/Payments/MyDerivedControl.ascx");
失敗し、そのようなビューが存在しないことを報告します。
派生例System.Web.Mvc.ViewUserControl
:
回避策はありますか、それとも私がこれを行うべき別の方法がありますか?おそらくHTMLヘルパーですか?
c# - ASP.NET MVCでビューからUserControlにデータを渡す方法は?
次のように、最も単純なデータ受け渡しを行いたいとします。
私がやりたいことは、変数 i をパラメーターとして UserControl に渡して、たとえば境界のある div 内に数値を表示することです。
これはどのように可能ですか?
ありがとう
validation - プレフィックス付きのコントロールに関するAsp.NetMVC2クライアント側検証の問題
問題は、同じタイプの2つのコントロールをページに配置するときに、バインディングに異なるプレフィックスを指定する必要があることです。この場合、フォームの直後に生成された検証ルールは正しくありません。では、このケースでクライアント検証を機能させる方法は?:
ページに含まれるもの:
コントロールViewUserControl<PhoneViewModel>:
ここでModel.GetPrefixed("CountryCode")
、プレフィックスに応じて「FaxPhone.CountryCode」または「PhonePhone.CountryCode」を返します。
フォームの後に生成される検証ルールは次のとおりです。これらは、フィールド名「Phone.CountryCode」に対して複製されます。望ましい結果は、FieldNames "FaxPhone.CountryCode"、 "PhonePhone.CountryCode" alt text http://www.freeimagehosting.net/uploads/37fbe720bf.pngごとに2つのルール(必須、番号)です。
質問は、Asp.Net MVC2クライアントサイド検証と重複IDの問題と多少重複 していますが、IDを手動で生成することは役に立ちません。
asp.net-mvc - ASP.Net MVC 2 の ViewUserControl で form/post/validation[/redirect] をカプセル化する方法
短いバージョン: ViewUserControl (つまり、ログイン フォーム) が自分自身にポストし、リダイレクト (つまり、ログインが成功した場合) できるか、検証の概要と共に元のビュー (つまり、ホーム/インデックス) を返し、他の ViewUserControls に干渉しないようにする必要があります。ページ。
また、HomeController/Index には、ログイン フォームの内部動作に関する最小限の知識が必要です。理想的には、Html.RenderAction("Login","User") または同様のものだけが必要です。
現時点では、「子アクションはリダイレクト アクションの実行を許可されていません」というリダイレクトでスタックしています。理由はわかっていますが、回避策があるかどうか、またはこれを行うべき別の方法があるかどうか疑問に思っています。
私が達成しようとしていることの詳細:
- サイト全体で再利用されるログイン (または任意の) フォームをカプセル化する
- 自分に投稿
- ログイン/検証が失敗した場合、検証の概要を含む元のページを表示します
- (ログインページに投稿して、そこに検証の概要を表示するだけだと主張する人もいるかもしれません。私が達成しようとしていることが不可能な場合は、そのルートに行きます)
- ログインに成功すると、/App/Home/Index にリダイレクトされます
- また、したい:
- PRGの原則に固執する
- ajaxを避ける
- ログイン フォーム (UserController.Login()) を可能な限りカプセル化します。ログインフォームは別の場所に表示される可能性があるため、 HomeController.Login() を実装する必要はありません
リダイレクト以外はすべて機能します。これまでの私のアプローチは次のとおりです。
Home/Index
ログインフォームが含まれています:<%Html.RenderAction("Login","User");%>
User/Login ViewUserControl<UserLoginViewModel>
以下が含まれます:
using(Html.BeginForm()){}
- 非表示のフォーム フィールドを含む
"userlogin"="1"
次の場合にうまく機能します: ModelState または User Credentials が失敗します -- return View() は Home/Index に戻り、適切な検証の概要を表示します。
(同じ構造を使用して、同じページに登録フォームがあります。各フォームの検証の概要は、そのフォームが送信されたときにのみ表示されます。)
次の場合に失敗します: ModelState およびユーザー資格情報が有効です -- RedirectToAction<>() は次のエラーを返します:
「子アクションはリダイレクト アクションの実行を許可されていません。」
Classic ASP の時代には、これは で解決されていたようResponse.Buffer=True
です。現在、同等の設定または回避策はありますか?
ところで、実行中: ASP.Net 4、MVC 2、VS 2010、Dev/Debugging Web Server
それがすべて理にかなっていることを願っています。
それで、私のオプションは何ですか?または、私のアプローチのどこが間違っていますか?ティア!
c# - MVC 3 でユーザー ビュー コントロールにロジックを追加する方法は?
User View Control
コードビハインドはありません。では、どのようにevents
of 要素を作成すればよいのでしょうか?
MVCのコントロールのロジックを理解したい...
asp.net-mvc - T4MVC は DisplayTemplates と EditorTemplates をサポートしていません
私の見解で以下を使用したとき、私はこれに気づきました:
上記の行はビューの名前のみを返すため、この場合はClientOnDocuments
. 次に、デフォルトのビュー エンジンが起動しClientOnDocuments.ascx
、現在のビューのフォルダーと共有フォルダーを検索しようとしますが、フォルダーDisplayTemplates
とフォルダーは検索しませんEditorTemplates
。
私は T4MVC をかなり使いこなしたので、それをダンプしたり、ビューを参照するさまざまなスタイルを混ぜたりしたくありません (たとえば、テンプレートへのパスを指定すると、上記は機能します)。
その理由は、T4MVC が生成する次のコードにあります。
共有ルートに含まれるビューではすべて問題ないことがわかりますが、明らかにサブフォルダーを適切に処理していません。
T4MVC テンプレート ファイルを変更できることはわかっていますが、David Ebboがこれを変更または修正する予定があるかどうかについて、実際に回答を求めています。
願わくば、彼が SO に続くことを願っています。少なくとも私は 12 月にここで彼に会いました。
asp.net-mvc-3 - 厳密に型指定された MVC3 ビュー ユーザー コントロールを宣言できません
このスレッドに従って、MVC3 で厳密に型指定されたビュー ユーザー コントロールを作成してみます。ただし、既存のビュー ユーザー コントロール (ViewUserControl) を厳密に型指定されたユーザー コントロールに変更しようとするたびに (ViewUserControl がスローされ、エラー: シンボルを解決できません) ViewUserControl. 何かアドバイスはありますか?
私のコードは次のとおりです。
asp.net-mvc - エラーを与えるユーザー コントロールの MVC コード:
ユーザー コントロール ProductBox を作成し、その内部でモデルから表示されるパラメーターを設定することにより、データベースから取得した製品を表示しようとしています。しかし、次のコード ブロックは未処理の例外を示しています。strUrl は現在のコンテキストに存在しません。
私はMVCにまったく慣れていません。括弧が抜けている場所を見つけるのを手伝ってもらえますか? ProductBox ユーザー コントロールからの私のコードを次に示します。
この問題を解決するのを手伝ってください。ありがとう。