問題タブ [razor-declarative-helpers]
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 - Razor宣言型@helperメソッドでHtmlHelperインスタンスがnullになるのはなぜですか?
MVC 3 RTM を使用すると、奇妙な結果が得られNullReferenceException
ます:
Html
(タイプ のHtmlHelper
) がであることがわかりnull
ます。
通常のビューでこれを見たことはありません。私は Razor で宣言型ヘルパー メソッドを試し始めています (これまでのところ、それらは少し制限されているようです)。
c# - ASP.NETMVC-別の@helperからRazor@helperを呼び出す
Scott Guの投稿@helper
に基づいて、Razorにいくつかの機能を実装してきましたが、状況はかなり順調に進んでいます。
私が疑問に思っていたのは、お互いに電話をかけることができるかどうかということ@helper
です。たとえば、次のヘルパーがあり、:の日付と時刻を表示しますDateTime?
。
これは正常に機能しますが、状況によってはnull許容ではない他のフィールドがあるため、これを追加して、物事をドライに保つようにしました。
これはコンパイルして正常に実行されますが、レンダリングすると、null許容でない場合は空の文字列として表示されますDateTime
。関数を呼び出すマークアップは次のとおりです@helper
。Model.UpdateDate
は常連DateTime
でModel.LastRun
あり、DateTime?
@helper
別の関数から呼び出すことによって1つの関数をレンダリングする方法はありますか?
asp.net-mvc-3 - RazorASP.NetMVC3の別のビューから@helpersを使用する
いくつかのビューで簡単に使用できるものをいくつか書きたいと思い@helpers
ます。HTML構文を強調表示するために、それらをRazor .cshtmlファイル(ac#クラスではない)内に配置する必要があります。
@helpers
同じビュー内に書き込まれたものに簡単にアクセスでき、それらをに分割できます。Helpers.cshtml
これをApp_Codeフォルダーに入れると、をHelpers.cshtml
介して任意のビューからアクセスできます@Helpers.MyHelper()
。しかし、私はそれらに数ページだけアクセスできるようにしたいと思います。
ヘルパーがc#クラスにある場合は、@ usingを配置するようなものだと思いますが、別のビューの名前空間は何ですか?..
asp.net-mvc - App_Code の共有 @helper 内で @Html を使用する
学習中に非常に基本的な MVC3 サイトを構築していますが、次の宣言型 Razor html ヘルパーに問題があります。
App_Code フォルダー内の RMB.cshtml 内:
私の index.cshtml ビュー内:
これにより、ヘルパーの Html で null 参照例外が発生します。これは、それが何であるかを認識していないように見えるためです。ビューからヘルパーにHtmlを渡すことでこれを回避できますが、共有HTMLヘルパーがHtmlを参照できるようにする別の方法があるかどうか疑問に思っていました。
完全を期すために、次の回避策があります。
App_Code の RMB.cshtml 内
index.cshtml ビューで
asp.net - HTMLフラグメントを(デリゲートとして?)宣言型Razorヘルパーに渡す方法は?
私は、Razor ビュー エンジンをサポートするようになったUmbraco 4.7で使用する宣言型のRazor ヘルパー(@helper 構文を使用) をいくつか作成してきました(ただし、これは WebMatrix または ASP.NET MVC にも同様に適用されると思います)。それらはすべて正常に機能します。ただし、出力を「ラップ」できるHTMLフラグメントを渡すことができるように、もう少し柔軟にしたいと思います(ただし、出力がある場合のみ)。たとえば、いくつかのパラメーターから HTML リンクを生成できるヘルパー (ここではかなり簡略化されています) があります。
を呼び出す@LinkHelper.HtmlLink("http://www.google.com/", "Google")
と、HTML 出力が生成されます<a href="http://www.google.com/">Google</a>
。
ただし、URL に値がある限り、生成されたハイパーリンク HTML にラップされる HTML フラグメントをオプションで渡すことができれば、すばらしいことです。私は基本的にこのようなことをしたいと思います:
そして出力を得る
また@LinkHelper.HtmlLink("", "", @<li>@link</li>)
出力がまったく得られません。
テンプレート化された Razor Delegatesに関する Phil Haacked のブログを読みましたが、このコンテキストでそれらをどのように使用できるかについてのコツをつかむことができません。何かを見逃しているか、間違った木を吠えているような気がします。
asp.net-mvc-3 - MVC3 でのカスタム Razor ヘルパーのテスト
こことここの指示に従ってカスタム ヘルパーを作成しました。これがどのように見えるかのスニペットです(ThemeHelper.cs)
:
指示に従って、これを App_Code に配置しました。これらのヘルパーを自分のビューで使用できます。これは私が望んでいることです。
今私の質問は、どうやってこれをテストするのですか? たとえば、現在のアセンブリ内でも、またはアセンブリThemeHelper
に反射的にアクセスしても(どちらも実際には返されません)、クラスのインスタンスを反射的に取得することはできません。App_Code
__Code
理想的には、何らかの方法でこれらの関数を呼び出して、結果/HTML を検証したいと考えています。URL を要求して HTML を検証できるフレームワーク (HtmlUnit 2.7 の C# バージョン) を用意しています。
カスタム ヘルパーをテストする方法はありますか? 次のようなものを書きたいと思います:
c# - 宣言ヘルパー内にプライベート関数またはプライベート宣言ヘルパーを含めることはできますか?
私の環境:Razorを使用したASP.NET MVC3。
ディレクトリ内の宣言型ヘルパーには、再利用可能なビュー ロジックがいくつかあります。これらは、使用するすべてのビューに対してパブリックApp_Data
として定義されています。@helper bar() { /* markup */ }
また、通常の Razor ビューでは、「プライベート」ヘルパーを次のように記述できます。
宣言型ヘルパー内に「プライベート」関数を持ちたい、または、宣言型ヘルパー ファイル内に「プライベート」宣言型ヘルパーを持ちたい。別の方法として、通常のヘルパー クラスを作成することもできますが、この場合はマークアップの方が冗長でなく、保守が容易であるため、より好まれます。
なぜこれをしたいのですか?ビューがあり、何らかのマークアップを取り込みたいとします。これは、宣言型ヘルパーを参照することによって行われます。しかし、その DH は、共通のマークアップを使用する他の DH でいっぱいのファイルにあります。したがって、そのすべての共通点を 1 つの場所に移動する必要があります。つまり、そのファイル内の DH のみが表示できる「プライベート」宣言関数/ヘルパーです。
c# - Javascsript アクションを使用した ASP.NET MVC 3 の HTML ヘルパー
Helpers.cshtml ファイルに多くの HTML ヘルパーがありますが、一部のヘルパー (html) には jquery アクションが必要です。helpers.cshtml 内で jquery を呼び出すにはどうすればよいですか?
js ファイルをヘッダーまたは特定のページに保持できることはわかっていますが、そのようにしたくありません。特定のヘルパーをロードしたページでのみ jquery または javascript を使用したいと考えています。
誰でもこれについて考えがありますか?私のシナリオは、ヘルパーから適切にロードされているリスト ボックス コントロールがありますが、カスタム テーマをリスト ボックスに適用する必要があります。
もう少し明確に
asp.net-mvc-3 - モデル変数を.net mvc3のグローバル変数値に参照する
好奇心で... システム側コントローラーの拡張につながる一時的な解決策を探しています。
ia mvc3.net かみそりベースのプロジェクトで、100 以上のクラス ファイルがあり、すべてのクラス ファイル (モデル) にはシステム フィールドがあります。
明確な
現時点では、useraccess コントロールはまだ構築されていませんが、最終的には useraccess コントローラーがこの変数に入力する予定です。
フォームの挿入、更新、削除中に上記のすべての変数の値を修正する必要があります
クラスを作成してデフォルト値を設定できる場所はありますか? 私は作成しました
ここで問題は、モデルを挿入するときに、以下のコードでデフォルトを設定する方法です
の
コントローラを使用: ユーザーがシステム フィールド c_by、u_by などを除くすべてを入力する場所...
デフォルトの方法
`
usr_myapp の構成要素
部分クラス、edmx 世代から取得しましたが、すべて変更する必要がありますか?
不思議な世界で迷子になった男