【问题标题】:Can I add pre-existing Javascript code to an ASP.NET MVC C# application我可以将预先存在的 Javascript 代码添加到 ASP.NET MVC C# 应用程序吗
【发布时间】:2021-05-22 16:33:25
【问题描述】:

抱歉,如果这是一个愚蠢的问题。我目前有一个用 C# 的 ASP.NET Mvc 编写的小型后端系统,它允许您执行与配置文件相关的多项功能(添加、编辑、删除、查看)以及其他功能。

我的朋友有一个他创建的应用程序作为他的大学项目,我们都很好奇我们是否可以将他的应用程序与我的合并,因为他的应用程序纯粹是前端系统,而我的应用程序是后端。

他编写了一个 SQL Web 应用程序,使用预设的 SQLite3 数据库对您进行一些通用 T-SQL 问题的测试,您可以根据提出的问题对其进行修改。他用 Javascript 并使用 HTML 和 CSS 编写了所有内容。他有 3 个文件夹,一个包含所有 javascript 的文件夹,一个包含 SQLITE3 数据库的文件夹和一个包含 HTML/CSS 的文件夹。

我只是想知道,我可以本质上将所有 3 个文件夹“拖放”到我在 Visual Studio 上的应用程序中,并且它会无缝运行吗?我假设我需要进入 Javascript 并修改我可以做的对数据库路径的任何更改。我对调用任何 js 函数或任何东西都不感兴趣,只是让它启动应用程序,获取 SQL 应用程序的 HTML,然后所有 js 脚本都适用于该页面。

如果不是这样,是不是我只能通过使用标签<script type="text/javascript">将Javascript注入ASP.NET来使用Javascript?

尝试我所说的。因为它的网页是 HTML 格式,所以我在控制器中创建了一个动作,以 CSHTML 格式打开 HTML 页面。这将显示 HTML,但在页面加载时不会调用任何方法,因此不会加载数据库或我认为是任何 Javascript 命令。

如果有任何材料可以帮助解决此问题,请在下面链接它们。我做了一些研究,但找不到任何指向这个特定问题的东西。

【问题讨论】:

    标签: javascript c# html asp.net asp.net-mvc


    【解决方案1】:

    我能否将预先存在的 Javascript 代码添加到 ASP.NET MVC C# 应用程序中

    是的。

    抱歉,如果这是一个愚蠢的问题。

    这不是一个愚蠢的问题,因为问题中存在歧义,可能会在您的特定情况下使答案为“否”。

    首先是好消息 - 您可以在 HTML 中引用用 Javascript 编写的脚本,也可以在 CSHTML 中放入 Javascript 块。可以使用 Razor 在同一页面中创建包含 HTML、Javascript 和 C# 的页面 - 但是代码执行的位置和时间存在差异,这可能对您来说是个问题。

    您需要确定的问题是您朋友的项目是否使用 Node.js 框架编写。 Javascript 是一种语言,它可以用于前端(在客户端的浏览器中执行)和后端应用程序。

    您可以使用您的 ASP 应用程序(服务器端或后端代码)编写包含 Javscript 或参考脚本的文档,以供浏览器中的客户端代码执行。你不能让你的后端在同一个应用程序中运行 Javascript),因为它是为不同的框架设计的。

    您可以在同一台服务器上托管两个应用程序,并在它们之间进行调用并在这方面一起使用它们,否则您需要选择一个或另一个作为您的 Web 应用程序的后端提供框架。

    因此,您可以在 ASP 应用程序中包含 Javascript,但要在其浏览器的客户端执行。您提到数据库连接在很大程度上意味着您正在描述服务器端代码 - 因此请与您的朋友讨论 Node.js 以确保他们正在使用它。

    您可以在此处阅读有关 Node.js 的信息:https://nodejs.org/en/

    这里有一些关于在 Azure 上混合 ASP 和 Node 的详细信息:Mixing node.js and ASP.NET projects in a single Azure Web Role?

    【讨论】:

    • 您好,感谢您抽出宝贵时间回复!他已经确认它在 Node.js 中,并且他说他使用了 sql.js,它允许你在浏览器中完全拥有一个 js sql 数据库,所以它应该都是前端的。您提到在同一个项目中有 2 个解决方案,这听起来是最用户友好的参与方式。我假设后端调用 JS 函数来完成某个动作。如果是这种情况,我是用 Javascript 而不是 C# 编写的吗?如果是这样,我个人会离开它,因为在此之前我需要学习足够多的 Javascript。
    • 大部分是项目特定的问题,但请记住,前端代码可以调用后端代码,而后端代码可以调用同一应用程序中的其他后端代码,或者不同的..但后端代码永远不能调用前端代码。向后端发送请求就像从亚马逊订购一台笔记本电脑,他们可以为您定制它,然后您可以在上面做一些事情,甚至订购另一台。但是一旦他们将它发送给您,他们就无法更改它或继续发送它!
    • 啊谢谢我感谢您的帮助,这是一个漫长的旅程,但需要学习!我最初的想法是后端向前端发出请求以收集数据,但正如您所解释的那样,这没有任何意义。因此,在类似的场景中,假设您在网站上为某些活动解锁成就(假设您完成了 CodeAcademy 上的教程)前端是否调用该方法来添加所述成就,然后后端将调用该操作并添加成就给用户?
    • 没错。任何超出浏览器关闭的东西通常都是后端。任何临时的,为显示目的而计算的,通常是前端。祝你旅途愉快。完成后不要忘记关闭问题!
    猜你喜欢
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多