2008-09-15 13 views
2

BlogEngine.NET (좋은 도구)을 사용하고 있는데 TinyMCE 편집기를 사용하고 있는데 외부 링크 목록을 만들 수있는 곳이 있다는 것을 알게되었습니다. 하지만 자바 스크립트 파일이어야한다 : 이것은 물론 매우 중요하지만, 내가 필요를 사용하려면 링크 목록 데이터베이스에서 동적으로 생성 할 수서버에서 자바 스크립트 파일을 생성하는 방법

external_link_list_url : "example_link_list.js"

. 즉, 페이지로드시 서버에서이 JS 파일을 만들어야합니다. 누구든지이 일을 할 수있는 방법을 알고 있습니까? 이상적으로는, 편집기에 액세스 할 때마다이 파일을 덮어 쓰고 싶습니다.

감사합니다.

답변

0

파일 확장명을 변경할 수없고 일반 텍스트를 반환 할 수없는 경우 호출자는 파일 확장자를 신경 쓰지 않아야합니다. js는 일반 텍스트입니다. 그런 다음 IIS에서 처리기를 설정할 수 있습니다 (IIS라고 가정) 자바 스크립트 파일을 처리합니다.

파일 확장명을 처리하기 위해 Windows 내에서 IIS 6을 설정하는 방법은이 링크 (http://msdn.microsoft.com/en-us/library/bb515343.aspx)를 참조하십시오. 그런 다음 .js에 대한 요청을 수신하도록 HttpHandler를 설정하십시오. (단지 google httphandler와 같은 좋은 튜토리얼을 보시기 바랍니다 : http://www.devx.com/dotnet/Article/6962/0/page/3)

4

db에서 읽은 원하는 데이터로 응답하는 HTTPHandler를 만듭니다. 웹 구성에서 특정 파일 이름 'example_link_list.js'로 HTTPHandler를 연결하면됩니다. 당신이

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

를 설정해야합니다 그럼 그냥 context.Response.Write(); 외부 링크 목록

0

그냥 aspx 파일을 가리키고 원하는 파일을 뱉어 내야합니다. 최근 TinyMCE에서 PHP로이 작업을 수행했으며 매력처럼 작동했습니다.

external_link_list_url "example_link_list.aspx"당신의 영문 파일에서

: 당신의 코드 숨김 (C#을)에서

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

:

 
using System; 

public partial class Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Response.Write("var tinyMCELinkList = new Array("); 
     // put all of your links here in the right format.. 
     Response.Write(string.Format("['{0}', '{1}']", "name", "url")); 
     Response.Write(");"); 
    } 
} 
1

당신의 제 3 자 코드 아무튼 경우 ' 자바 스크립트 파일의 확장명이 .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> 

이하여 MyAssembly 어셈블리 MyProject.MyTinyMCE 클래스의 processRequest 메소드 (당신의 .DLL의 이름)

에 (POST를 통해 및 GET) 'example_link_list.axd'에 대한 모든 요청을 전달하는 IIS 지시 대신 Visual Studio의 'Generic Handler'템플릿을 사용할 수도 있습니다. 그러면 .ashx 파일과 코드 숨김 클래스가 생성됩니다. web.config도 편집 할 필요가 없습니다.

HTTPHandler를 사용하면 .aspx 요청이 더 많은 오버 헤드 (페이지 이벤트 등)와 관련되어 있기 때문에 .aspx 페이지를 사용하는 것이 더 바람직합니다.