如何在HTML文件中的ASPX文件中运行javascript函数?

时间:2013-08-30 06:12:00

标签: javascript asp.net external-script

我有一个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]中恢复)。我无法在html文件中访问RunValidationAnswer();

如果我将RunValidationAnswer();放在JS文件中,我可以访问它,但是我在aspx文件的Page_Load内失去了强大的操作。

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

我在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/>

1 个答案:

答案 0 :(得分:0)

您是否将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() %>");