繁体   English   中英

如何在空的 ASP.NET web 应用程序模板中与后端通信?

[英]How to communicate with backend in an empty ASP.NET web application template?

我过去习惯使用 PHP 以及 ASP.NET MVC。 现在我正在尝试从头开始学习创建一个 ASP.NET 框架 web 应用程序。 我尝试按照以下步骤创建项目:

首先我定义了我的项目: 项目模板

我单击“ASP.NET Web 应用程序(.NET Framework)”,然后单击“确定”按钮: ASP.NET 4.7.2 模板

我点击“Empty”并确保勾选了所有引用,然后我再次点击“OK”按钮。

现在,在我的 IDE 中为我提供了这个尽可能简单的结构: 解决方案资源管理器中的简单文件结构

根据我使用 PHP 的经验,我知道我曾经能够从我的 HTML 文件中调用后端代码(当我开始使用 PHP 开发时,它是一个 PHP 文件)。 根据我对 ASP.NET MVC 的经验,我还知道我曾经能够通过使用控制器和 Razor 视图来访问后端代码。

我如何使用给定的模板(空的 ASP.NET 框架)实现相同的目标? 我知道我可以添加 HTML 文件(带有按钮等控件),并且可能使用 JavaScript 和 JSON 进行调用。 那会是通往 go 的方式吗?如果是这样,我将如何开始以这种方式开发?

如何在我的 HTML 文件中调用简单的 class ? 或者我应该使用其他东西而不是简单的 HTML 来执行此操作?

我的 class:

public class Sample
{
    public static string Foo()
    {
        return "This is a foo string through C#";
    }
}

我的 HTML:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <!--Call the C# class foo() method-->
</body>
</html>

文件夹结构:

新的文件夹结构

根据这个要求,我们不必使用 MVC 或 Core 或传统的 Asp.Net 从简单的 html 页面通信支持类的方法。

通过 Web 服务可以实现。

To create Web service, ASP.NET development company is using class's method to create web service through simple html page, we have to follow below steps in visual studio:

1) 创建简单的 class 和 class 中的一个方法,我们希望从 html 页面通过 ZC6E190B2845633C48E83DZE 服务调用该方法。

这个用于测试

2) Create Web service: Right click on Project > Add > Add New Item > Select WEB under Visual C# > Select Web Service (ASMX) > Add.

在此处输入图像描述

3) 从 Webservice 调用类的方法:#2 将使用一种方法创建 Simple Webservice 文件。 在该方法中创建类的 object 并通过该 object 调用类的方法。

这是为了测试

4)现在从调用Webservice方法的简单(Index.html)html页面调用AJAX。

在此处输入图像描述

5) 这样,我们将使用 JQuery AJAX 调用从简单的 html 页面通过 Webservice 方法获得 Class 方法的结果。

这是一步

如果您的前端是 HTML 页面并且这是您的结构,那么绑定数据的唯一方法是通过 Javascript/JQuery 和 AJAX。

Create a web service thru c# and call the web service on your HTML page using AJAX

希望这能回答你的问题。

听起来您应该学习 Razor Pages 应用程序 model。 razor 页面是一个带有代码隐藏文件 (.cshtml.cs) 的 .cshtml 文件,其作用类似于 controller。

您的 Index.cshtml 看起来像:

@page "/"
@model IndexModel
<div>
    <!--Call the C# class foo() method-->
    @Foo()
</div>

您的 Index.cshtml.cs:

using Microsoft.AspNetCore.Mvc.RazorPages;

namespace MyProject.Pages
{
    public class IndexModel : PageModel
    {
        public IndexModel()
        {
        }

        public void OnGet()
        {
        }

        public static string Foo()
        {
            return "This is a foo string through C#";
        }
    }
}

另请查看 Blazor。

编辑:让这个例子工作还需要更多。 由于您从一个空项目开始,您必须设置 Program.cs、Startup.cs、制作一个 _Layout.cshtml 来处理每个页面的头部/正文......最好从 Razor 页面模板开始。

编辑 2:我现在意识到您使用的是 ASP .NET,而不是 ASP .NET Core。 ASP .NET 没有 Razor 页面,抱歉。 您应该考虑使用 Core。 这是 .NET 的未来,将满足您的所有需求并提高性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM