在没有POST /页面重新加载的情况下从javascript调用webserver上的方法

时间:2017-01-06 23:27:34

标签: javascript asp.net client-server

显然我没有清楚地传达我的问题,所以我重写了再试一次。

我来自前端HTML / CSS / JS设计师环境。因此,我非常习惯于编写我的(有时是高度风格化和交互式)项目而没有任何服务器端功能来构建/配置/组装页面" (基于Web的交互式CBT,由SCORM LMS提供)。因此,我无法将我的工作流程转换为能够使用asp.net服务器端功能的工作流程。

我使用大量JavaScript来响应用户交互,处理输入以及何时需要操作页面内容。

我不知道如何获取我几乎100%的客户端内容,并添加对偶尔拨打服务器的支持,而无需重建整个网站。

WinForms似乎想使用表单runat =" server"以及导致页面刷新的所有内容的标签和较少的可维护HTML输出。

WebApp MVC(razor)似乎要求我在所有地方重建所有服务器端声明并且混淆(至少对我来说)相当简单的架构(UI | Controller | Logic)我一直在使用好几年了。

我似乎能找到最接近解决我需求的提示的方法是AJAX with JSON调用使用运行时编译的代码隐藏webmethods。我曾经使用过Dreamweaver / notepad ++(当时没有可视化工作室访问),但似乎所使用的每个服务器方法都需要是公共静态函数,即使是在原始[webmethod]内部间接引用时也是如此服务器方法。

我之前使用SignalR和Owin进行了一次实验,但对于我偶尔的需求似乎有些过分,尽管它在我的实验中表现为客户端和服务器之间的可用信使服务。

我的问题是,根据我之前的经验,我根本不知道要使用哪种技术堆栈。

帖子和回复here总结了像我这样的人正在从前端过渡到前端和后端开发的关键点。

我承认堆栈溢出很可能不是最好的地方,因为我很可能需要更多关于如何转换的指导而不是如何使用特定技术。

1 个答案:

答案 0 :(得分:0)

如果您使用的是WebForms,那么是的,您可以使用[WebMethod]修饰公共静态方法。 WebApi是一种更好的方法,正是它的构建原因。但是,如果您主要使用WebForms,那么对您来说这可能是一个学习曲线。