2010-12-16 10 views
1

Telerik MVCコンポーネントを使用する最初のMVCアプリケーションを構築するのに忙しいです。彼らのドキュメントでは、ScriptRegistrarヘルパーがビューの一番下で右に呼び出されるように指定しています。 "マスターページの最後に。"私は、このページがロードされたときにのみ実行する必要があるスクリプトブロックをレンダリングすると仮定します。私は通常、これをjQueryを使って実現することを好み、私のスクリプトに関するすべてのものを私のマスターページの一番上に、好ましくは<head>というタグで保持します。 Telerikコンポーネントでこれを達成するためにできることはありますか?マスターページの一番下にある孤独で忘れ去られたヘルパーコールをやめてください。jQueryを使用してTelerik MVCスクリプトをロードする

答えて

1

ScriptRegistrarは、次の2つの主要な責任があります。

  1. は、UIコンポーネント
  2. で必要なJavaScriptファイルが理由の説明がありますUIコンポーネント

のためのJavaScriptの初期化スクリプトをレンダーScriptRegistrarはページの最後にある必要があります。これは、すべてのUIコンポーネントがレンダリング中にそれに登録されなければならないためです。ライフサイクルの欠如(それは良いことです)のために、ScriptRegistrarは最後に現れなければなりません。さもなければ、UIコンポーネントはあまりにも遅れて登録されるでしょう - ScriptRegistrarはすでに出力を吐き出してしまいます。

あなたの質問に答えるには、はい、ScriptRegistrarを省略して、必要なJavaScriptファイルをあなた自身で含めることができます。ただし、UIコンポーネントを手動で初期化する必要があります。後者は可能ですが、文書化されていません。

0

ScriptRegisterブロックによって生成されたコードは、どのようなスクリプトには、次にレンダリングされているように何の手がかりを提供していない

<script type="text/javascript" src="/asset.axd?id=dgAAAB-LCAAAAAAABADsvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee--997o7nU4n99__P1xmZAFs9s5K2smeIYCqyB8_fnwfPyJ-8Uezjx597xd_tPro0Uevp3WxapuPRh-d82dL-uynf9E6r6-3d8f743vjn8Z31UePdn7J93_J90cfTVtq0Obv2rs_nV1mDb9NDS7p072d3d0x_be7e58-mVIf9z69T7989Kit1_kv-X8CAAD__9hh2r92AAAA"></script> 

のラインに沿っています。しかし、FireFoxの急なピークは、それがjQueryをロードしていることを示しています。私はあなたがscriptregisterブロックから始まり、Firebugを使って呼び出しを調べ、jQueryインクルード(そして他のスクリプトが取り上げられれば)をすべて交換してみることをお勧めします。

関連する問題