0

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

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

4

1 回答 1

2

我知道你不能在外部 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";
    }
}

现在您可以像使用.js文件一样使用这个 ASPX 页面。

于 2012-08-02T17:53:18.377 回答