繁体   English   中英

将外部javascript文件视为Aspx Page的一部分

[英]Treat external javascript file as part of Aspx Page

我知道你不能在外部javascript文件中使用asp net server标签。 这有点痛苦,因为它会强制您在aspx页面中声明需要ClientID的变量,然后在外部javascript文件中引用它们。 不是很干净。 目前我使用脚本管理器的复合脚本来注册我的脚本...如果我可以注入脚本并处理服务器标签就好像它是页面的一部分那样会很好。 这可能吗?

我知道有RegisterClientScript,但这似乎也不尊重脚本标签。 我想知道是否有人提出解决方案只是拉出javascript文件的内容并在处理之前将它们推入aspx页面,以便可以处理服务器标签。 我已经浏览了整个网络,除了在aspx页面中使用服务器标签或生成控件ID等服务器端和生成脚本之外,没有看到任何好的解决方案。

我知道你不能在外部javascript文件中使用asp net server标签

您可以创建一个ASPX页面来生成动态JavaScript

<%@ Page Language="C#" AutoEventWireup="false"
CodeFile="script.aspx.cs" Inherits="scripts_script"
EnableViewState="false" StyleSheetTheme="" %>
function test() {
    testinfo.innerHTML = "<%= MyVariable %>";
}

确保设置StyleSheetTheme=""否则运行时将插入您不想要的<head>

并在后面的代码中将ContentType设置为application/x-javascript

using System;

public partial class scripts_script
{
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        this.Response.ContentType = "application/x-javascript";
    }
}

现在您可以使用此ASPX页面,就像它是.js文件一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM