Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从jquery运行服务器端方法_C#_Jquery_Asp.net_Ajax - Fatal编程技术网

C# 从jquery运行服务器端方法

C# 从jquery运行服务器端方法,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,我知道,通过jQuery,使用ajax,我可以从aspx或asmx文件调用WebMethod。没关系,但我只能将项目逻辑放在ascx.cs文件中。这是一个特定的CMS,我对此无能为力 因此,我的问题基于以下示例: 假设用户已登录并正在查看文章。一个用户想要将其标记为收藏夹,因此单击一个按钮。在没有刷新页面的服务器端,应该运行一个适当的方法,将本文添加到他的收藏夹中,然后在客户端出现一个警报-“成功” 我不希望任何人为我写代码,因为它只是一个例子,用来描述我希望能够实现什么功能,以及使用什么技术来

我知道,通过jQuery,使用ajax,我可以从aspx或asmx文件调用WebMethod。没关系,但我只能将项目逻辑放在ascx.cs文件中。这是一个特定的CMS,我对此无能为力

因此,我的问题基于以下示例:

假设用户已登录并正在查看文章。一个用户想要将其标记为收藏夹,因此单击一个按钮。在没有刷新页面的服务器端,应该运行一个适当的方法,将本文添加到他的收藏夹中,然后在客户端出现一个警报-“成功”

我不希望任何人为我写代码,因为它只是一个例子,用来描述我希望能够实现什么功能,以及使用什么技术来实现

谢谢你的帮助


另外,我使用的是ASP.Net 2.0,ASCX文件不能从客户端直接访问(因此,不能通过AJAX调用作为目标)


如果您的逻辑确实必须封装在ASCX文件中,您可以在ASPX中添加一个入口点
WebMethod
,该入口点调用相应的ASCX方法。但是,您可能会遇到一些与WebMethods的静态相关的困难,因此最终可能需要进行一些重构,这取决于您的代码现在的结构。

ASCX文件不能直接从客户端访问(因此,不能通过AJAX调用进行定向)


如果您的逻辑确实必须封装在ASCX文件中,您可以在ASPX中添加一个入口点
WebMethod
,该入口点调用相应的ASCX方法。但是,您可能会遇到一些与WebMethods是静态的相关的困难,因此您可能最终需要进行一些重构,这取决于您的代码现在是如何构造的。

您可以对远程页面进行ajax调用(使用服务器端方法的ascx控件),然后解析输出(例如,查找world“SUCCESS”)要验证是否执行了方法。虽然不是很优雅,但它可以工作。

您可以对远程页面进行ajax调用(使用服务器端方法使用ascx控件),然后解析输出(例如查找世界“成功”),以验证您的方法是否已执行。不是很优雅,但它会工作。

我们可以确定您也可以完全访问aspx文件吗?如果我是您,我会尝试将aspx.cs中的代码重构为一个方法,然后使用处理程序调用此方法。或者另一种可能的方法是在ASP.Net中引入路由,这肯定不是最好的方法,但它应该可以工作。我没有访问aspx文件的权限。我只能在用户控制文件中编写代码。然后在sitesCan上使用CMS wmbed此控件,我们可以确定您也拥有对aspx文件的完全访问权限?如果我是您,我会尝试将aspx.cs中的代码重构为一个方法,然后使用处理程序调用此方法。或者另一种可能的方法是在ASP.Net中引入路由,这肯定不是最好的方法,但它应该可以工作。我没有访问aspx文件的权限。我只能在用户控制文件中编写代码。然后使用CMS wmbed在站点上进行此控制