1

我有一个 ASPX 文件来处理我的用户的一些验证。我需要为用户准备一些代码和 ID 来处理我的数据。我编写了一个 Validation.aspx 文件,在Page_Load. 我想使用 html 文件中的一些 javascript 函数。

ASPX 文件中有一些 javascript 函数,我在运行时通过 validation.aspx 收集数据来制作它们Page_Load

我想在 html 文件中放置一个脚本,如下所示:

<script src="validation.aspx?a=1234" type="text/javascript" language="javascript" ><script/>

<script> RunValidationAnswer(); <script/>

RunValidationAnswer();函数以运行时形式的用户数据生成(从 QueryString [a=1234] 检索)。我无法访问RunValidationAnswer();html 文件。

如果我把它RunValidationAnswer();放在一个 JS 文件中,我可以访问它,但是我失去了Page_Loadaspx 文件中强大的操作。

请帮助我找到解决问题的方法。

我在 Validation.aspx 中编写了这个示例脚本

<script  type="text/javascript" language="javascript">
function RunValidationAnswer()
{
alert("hi");
}
<script/>

它可以在validation.aspx 中完全访问,但我无法从其他文件访问此功能。

我想要在其他文件中这样的东西:

<script src="validation.aspx?a=1234" type="text/javascript" language="javascript" ><script/>

<script> RunValidationAnswer(); <script/>
4

1 回答 1

1

您是否将 ASPX 页面的内容类型设置为 javascript,以便浏览器知道这是 Javascript 文件,因为默认情况下任何 aspx 的内容类型都是 HTML

Response.ContentType = "text/javascript"

** 添加 ; 对于 C#

Validation.aspx 应该是空文件,除了这一行

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

在代码文件中,您通过 response.write 编写 JS

public partial class ScriptTest : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.ContentType = "text/javascript";

        Response.Write("alert('javascript works')");
    }
}

您也可以只使用 ASPX 页面 - 没有代码文件 - 像这样

<%@ Page Language="C#" AutoEventWireup="true" ContentType="text/javascript" %>
alert("script works <%=DateTime.Now.ToString() %>");
于 2013-08-30T10:37:19.553 回答