【问题标题】:Running ASP page at startup of index.html page?在 index.html 页面启动时运行 ASP 页面?
【发布时间】:2017-11-05 13:25:51
【问题描述】:

当用户加载网站的主页(即 index.html 页面)时,我希望我的 index.aspx 也能加载。因此,如果我访问 www.mywebsite.com/index.html,它应该通过 index.aspx.cs 页面(C# 语言)上的 Page_Load 方法运行。

我过去曾这样做过,但我不记得我是如何做到的。最终我想在我的 index.html 页面上执行 ajax 调用......所以我需要检查我在 index.aspx.cs 页面的 Page_Load 方法中进行的 api 调用。

我想我只需要包含runat="server" 就可以了。目前,我只是通过调试器(启动 Chrome)在本地运行页面来测试所有内容。这样不行吗?

ASP 页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="WebApplication1.index" ValidateRequest="false" runat="server" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>wtf</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    </div>
    </form>
</body>
</html>

ASP 类代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("ASP page loaded.");
        }
    }
}

index.html 页面:

<!DOCTYPE html>
<html>
<head>
    <title>test</title>
    <meta charset="utf-8" />
</head>
<body>
    index.html page
</body>
</html>

我对使用 ASP 进行设置还是很陌生...所以也许我在这里遗漏了一些东西。谢谢!

【问题讨论】:

    标签: c# asp.net .net


    【解决方案1】:

    这些要求没有任何意义,反映了对 ASP、Ajax 和 HTML 工作方式的误解。我认为您需要阅读并了解更多关于它们的信息。

    无论如何,回答你的问题。 HTML 页面通常不会被 ISS 传递给 ASP 引擎,因此您在其中放入什么并不重要(例如runat="server"),因为 ASP 引擎甚至不会意识到这一点。 IIS 只会将未处理的页面发送到不理解标记的浏览器并忽略它。

    如果您希望 IIS 将 HTML 页面发送到 ASP 引擎,您需要告诉它这样做。这些步骤因您的 IIS 版本而异。对于 IIS 6:

    • 打开您网站的属性
    • 选择主目录标签
    • 点击配置按钮
    • 编辑您的 .aspx 条目并复制路径
    • 为 .htm(和 .html,如果需要)创建一个新的扩展名,然后粘贴上一步的路径。

    对于 IIS 7,如果您在 经典模式 下运行应用程序池:

    • 访问您的网站
    • 转到处理程序映射部分
    • 复制Path=.aspx 的条目
    • 将副本从.aspx更改为.htm
    • 如果您愿意,可以再复制一份并更改为.html

    如果您使用的是集成模式,则无需执行上述任何操作,只需继续执行以下步骤即可。

    既然 IIS 将 HTML 页面传递给 ASP 引擎,您需要告诉 ASP 引擎如何处理它们。在您的 web.config 文件中,将新条目添加到 httpHandlers 部分,如下所示:

    <httpHandlers>
       <add path="*.htm" verb="*" type="System.Web.UI.PageHandlerFactory" />
       <add path="*.html" verb="*" type="System.Web.UI.PageHandlerFactory" />
    </httpHandlers>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      相关资源
      最近更新 更多