Ajax连接与asp.net代码隐藏和运行时编译有关

时间:2014-05-01 23:13:53

标签: asp.net ajax vb.net code-behind runtime-compilation

我无法使AJAX调用工作,失败错误是常见的404,这意味着调用无法找到我想要调用的文件/函数。问题是即使我在通话中使用绝对路径它仍然是404在我身上。我可以在服务器上物理检查文件,甚至使用相同的路径通过网络访问同一目录中的图像或.txt文件。

$.ajax({
        type: "post",
        url: "http://10.xx.xx.xx/Scripts/Core.aspx.vb/GetData",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: '{"selCourse":"'+crsName+'"}',
        success: function(result) {
            ProcessServerLsnList(result.d);
        },
        error: function (xhr, status, error) {
            AjaxErrorAlert(error);
        }       
    });

因为我被迫从Dreamweaver编写这个代码作为运行时编译后的代码。(不要问......)是否有一些简单的我想念我应该检查,无论是在asp或iis配置中在服务器或web.config。

default.aspx标题

<%@ Page Language="vb" AutoEventWireup="true"  Src="Scripts/Core.aspx.vb" Inherits="CoreFunctionality"%>
<!DOCTYPE>
<html>
<head runat="server">

Core.aspx.vb

Imports System.IO
Imports System.Web.Services.WebService

public partial Class CoreFunctionality
    Inherits System.Web.UI.Page
        Public Function GetData(ByVal strData As String) As String
            return String.Format("It's blank Jim.", strData )
    End Function    
End Class

背景信息我需要实现的内容:用户点击它执行多个javascript操作的项目,然后无需刷新,页面从服务器检索数据并执行多个javascript操作,然后才对用户请求做出反应。

1 个答案:

答案 0 :(得分:0)

现在我明白这可能不是最有效的方法,或者必然是行业标准和正确的方法,但它适用于我的小用途边缘情况,其中数据安全性并不是很重要。

当它转过来时,我离标记不太远,但是因为makeMoney2010提到我无法直接调用aspx.vb文件,所以我将它附加到一个空页面并调用该页面作为后台处理器信息。 (很可能是不正确的术语)

下面的代码应该指导其他不了解ajax和vb asp.net的人,但需要出于某种或其他原因而违反规范,以便能够从javascript调用服务器上的函数并从运行中返回一些数据时间编译的代码隐藏文件。

Core.aspx(后台处理器)

<%@ Page Language="vb" AutoEventWireup="true"  Src="Core.aspx.vb" Inherits="CoreFunctionality"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Processing Data...</title>
</head>

<body>
Processing Data, Please Wait...
</body>
</html>

Core.aspx.vb(服务器端脚本)

    Imports System.Web
    Imports System.Web.Services
    Imports System.Web.Services.Protocols
    Imports System.Web.Script.Services

public partial Class CoreFunctionality
    Inherits System.Web.UI.Page

        <WebMethod()> _
        Public Shared Function GetLessonList(ByVal crsName As String) As String
        If crsName = "" Then
            return String.Format("It's blank Jim.", crsName)
        Else
            return String.Format("Oodles of list data here!!!", crsName)
        End If
    End Function


End Class

ClientSide.js(客户端javascript)

function GetSegListFromServer(strData){
    $.ajax({
        type: "post",
        url: "Scripts/Core.aspx/DoSomenthig",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        //data: '{"selCourse":"'+crsName+'"}',
        data: '{"lsnName":"'+lsnName+'", "crsName":"'+crsName+'"}',
        success: function(result){
            ProcessReturnedData(result.d);
        },
        error: function (xhr, status, error) {
            AjaxErrorAlert(error);
        }       
    });
}

function ProcessReturnedData(){
    alert("@TODO:");
}

//Generic Ajax error handler
function AjaxErrorAlert(error){
    alert("AJAX Error: "+error);
}