[英]Accessing index.aspx file (in App_Code) from ajax call?
我正在尝试在App_Code目录下有一个index.aspx文件,它将使用ajax执行的api调用。
例:
(这只是一个App_Code目录,其下有1个index.aspx文件。最后,在该目录的主页之外还有一个index.html文件。)
index.aspx代码前
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="WebApplication4.index" runat="server" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Index page</title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
index.aspx后面的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication4
{
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String strAPI = Request.Form["api"];
switch(strAPI)
{
case "test":
Response.Write("It worked!");
break;
}
//lstTest.Items.Add("test");
}
}
}
index.html代码
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
window.onload = function () {
$.ajax({
url: 'App_Code/',
data: 'api=test',
dataType: 'text',
type: 'POST',
contentType: 'application/x-www-form-urlencoded',
success: function (data)
{
debugger;
},
error: function (data, status)
{
debugger;
}
});
};
</script>
</head>
<body>
<h2>TEST</h2>
</body>
</html>
我已经让它开始工作了(但不记得怎么做)。 我收到的错误是ajax调用的错误事件中的“ IIS 10.0详细错误-404.8-未找到”。 基本上,它永远不会进入index.aspx文件的页面加载方法。
你好,在ajax调用中尝试更改URL,例如:url:'App_Code / Index.aspx / Page_Load'我不确定这是否是答案,但可以尝试一下。
从屏幕快照中,您看来项目类型是Web应用程序,而不是网站。
首先,不要将App_Code
文件夹用于Web应用程序项目。 它旨在用于网站项目中以放置未附加到页面(即未隐藏代码)的代码文件。 在Web应用程序项目中,您可以将代码文件放置在所需的任何位置,因此App_Code
文件夹不是必需的,并且不提供任何特殊功能。 您仍然可以像使用其他任何文件夹一样使用它,但是建议改用命名更好的文件夹。
因此,您应该避免将aspx页面放在App_Code
文件夹中,因为它令人困惑并且在Web应用程序项目中没有意义。 为此,请使用命名更好的文件夹。 出于这个原因,我将避免发布使之起作用的解决方案,因为您一开始就不应该这样做。
而是将App_Code
文件夹重命名为有意义的名称,例如API
,然后在您的Ajax中使用该名称,例如/api
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.