2

私は BlogEngine.NET (優れた優れたツール) を使用しており、TinyMCE エディターで遊んでいて、外部リンクのリストを作成する場所があることに気付きましたが、それは JavaScript ファイルでなければなりません:

external_link_list_url : "example_link_list.js"

もちろん、これは素晴らしいことですが、使用したいリンクのリストをデータベースから動的に生成する必要があります。これは、ページの読み込み時にサーバーからこの JS ファイルを作成する必要があることを意味します。これを行う方法を知っている人はいますか?理想的には、エディターにアクセスするたびにこのファイルを上書きしたいと思います。

ありがとう!

4

4 に答える 4

4

データベースから読み取った目的のデータで応答する HTTPHandler を作成します。web-config で HTTPHandler を特定のファイル名「example_link_list.js」に関連付けるだけです。必ず設定してください

context.Response.ContentType = "text/javascript";

次に、 context.Response.Write(); だけです。外部リンクのリスト

于 2008-09-16T00:09:32.603 に答える
1

サード パーティのコードで、javascript ファイルに .js 拡張子を付ける必要がない場合は、HTTPHandler を作成し、web.config でのみ .axd または .ashx 拡張子にマップできます。これらのように IIS 設定を変更する必要はありません。拡張機能は IIS によって自動的に構成され、asp.net によって処理されます。

<system.web>
  <httpHandlers>
    <add verb="*" path="example_link_list.axd" type= "MyProject.MyTinyMCE, MyAssembly" />
  </httpHandlers>
</system.web>

これにより、IIS は「example_link_list.axd」に対するすべての要求を (POST および GET 経由で) MyAssembly アセンブリ (.dll の名前) の MyProject.MyTinyMCE クラスの ProcessRequest メソッドに渡すように指示されます。

代わりに、Visual Studio の「Generic Handler」テンプレートを使用することもできます。これにより、.ashx ファイルとコード ビハインド クラスが作成されます。web.config も編集する必要はありません。

.aspx 要求にはより多くのオーバーヘッドが関連付けられているため (すべてのページ イベントなど)、.aspx ページを使用するよりも HTTPHandler を使用することをお勧めします。

于 2008-09-16T02:17:00.333 に答える
0

aspx ファイルを指定するだけで、そのファイルに必要な JavaScript が吐き出されます。私は最近、PHP の TinyMCE でこれを行いましたが、魅力的に機能しました。

external_link_list_url: "example_link_list.aspx"

aspx ファイルで:

<%@ Page Language="C#" AutoEventWireup="false" CodeFile="Default.aspx.cs" Inherits="Default" %>

コード ビハインド (C#) で:

システムを使用して;

パブリック部分クラス デフォルト: System.Web.UI.Page
{
    protected void Page_Load(オブジェクト送信者, EventArgs e)
    {
        Response.Write("var tinyMCELinkList = new Array(");
        // ここにすべてのリンクを適切な形式で配置します..
        Response.Write(string.Format("['{0}', '{1}']", "名前", "url"));
        Response.Write(");");
    }
}
于 2008-09-16T01:23:39.650 に答える
0

ファイル拡張子を変更できない場合 (プレーン テキストを返すだけで、呼び出し元はファイル拡張子を気にする必要はありません。js はプレーン テキストです)、IIS (IIS であると仮定) でハンドラーを設定して、javascript ファイルを処理できます。 .

Windows 内で IIS 6 をセットアップして任意のファイル拡張子を処理する方法については、このリンク ( http://msdn.microsoft.com/en-us/library/bb515343.aspx ) を参照してください。次に、.js のリクエストを受信するように HttpHandler をセットアップします (httphandler をグーグルで検索して、このような優れたチュートリアルをいくつでも参照してください: http://www.devx.com/dotnet/Article/6962/0/page/3 )

于 2008-09-16T00:06:49.473 に答える