3

Websharper の Web サイトには、 ASP.NET と Websharper の統合に関するチュートリアルがありますが、特定の事項についてはあいまいです。ASP.NET MVC プロジェクトに Websharper パッケージをインストールし、手順 1 に従いましたが、残りの部分については混乱しています。

ステップ 2 では、統合したい Websharper アプリケーションをどこに、またはどのように追加しますか? F# ソース ファイルをスクリプト フォルダーに追加するだけで、必要な Javascript が自動的に生成されますか? それとも、別の Websharper プロジェクトでコンパイルし、生成された Javascript を ASP.NET MVC プロジェクトに追加する必要がありますか?

タイトル自体では、具体的に ASPX ページとの統合と述べています。これは、ASP.NET MVC の既定である Razor Web ページでは機能しないということですか?

4

1 に答える 1

4

Razor ページ内に WebSharper コントロールを挿入することは、現在リリースされている WebSharper では簡単ではありませんが、これを容易にするためのヘルパーに取り組んでおり、間もなくリリースされる予定です。進行中の作業はこちらから入手できます。最新の WebSharper に依存しているため、今すぐ使用したい場合はソースから両方をビルドする必要があります。

次に行う必要があることは次のとおりです (WebSharper.AspNetMvc をリリースする前に若干の変更がある可能性があります)。

  • Web プロジェクトから WebSharper、WebSharper.AspNetMvc、および WebSharper プロジェクトを参照します。
  • RPC や Sitelets を使用する場合:

    • リンクしたドキュメントに示されているように、関連するモジュールを Web.config に追加します。
    • あなたに追加FilterConfig.RegisterGlobalFilters

      filters.Add(new WebSharper.AspNetMvc.Filter());
      
  • クライアント側のコントロールを使用するには:

    • メインのカミソリ レイアウトの head タグ内に、次を追加します。

      @WebSharper.AspNetMvc.ScriptManager.Head()
      

      これには、コントロールに必要な css タグと javascript タグが含まれます。

    • コントロールをビューに挿入するには、まずビューの上部に作成します。

      @{
          var myControl = WebSharper.AspNetMvc.ScriptManager.Register(new MyControl());
      }
      

      次に、それをビューに挿入できます。たとえば、次のようになります。

      <div>
          <h1>My control:</h1>
          @myControl
      </div>
      

      ビューがレンダリングを開始する前にコントロールを作成することが重要です。そうしScriptManager.Head()ないと、このコントロールの依存関係なしで既にレンダリングされます。

于 2015-05-14T18:05:11.263 に答える