如何从 HTML 文件在 ASPX 文件中运行 javascript 函数?
Posted
技术标签:
【中文标题】如何从 HTML 文件在 ASPX 文件中运行 javascript 函数?【英文标题】:How to run javascript function inside a ASPX file from a HTML file? 【发布时间】:2013-08-30 06:12:00 【问题描述】:我有一个 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
内的强大操作。
请帮助我找到解决问题的方法。
我在 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/>
【问题讨论】:
尝试将 runat="server" 添加到脚本中 runat="server" 没有答案!提出了许多新问题! 【参考方案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() %>");
【讨论】:
这是我的页面标签: 如果不是这样,那么可能是 javascript 语法问题。您能否发布您得到的确切错误。尝试在validation.aspx 中使用简单的alert('') 看看它是否有效。 . 我在Validation.aspx的 哦,您需要在第一行 我在上面写了我的页面标签,我有一个文件只有以上是关于如何从 HTML 文件在 ASPX 文件中运行 javascript 函数?的主要内容,如果未能解决你的问题,请参考以下文章