我有一个网络方法:
[System.Web.Services.WebMethod]
public static string getCharacterstics(int product_id, int lang_id)
{
// code goes here...
}
我想使用PageMethods来访问它:(提供了在ScriptManager中启用Enable PageMethods的条件):
<script type="text/javascript">
$(document).ready(
function () {
$('#characterstics').html("loading");
// '<%= product_id_property %>' , '<%= this.LanguageID %>'
PageMethods.getCharacterstics(0 ,0 , OnSave);
}
);
function OnSave(result) {
}
</script>
我收到错误消息“ http动词后无法访问路径..”
我在Google上搜索并搜索了SO,但是没有基于ASP.NET Routing的任何解决方案。
我认为是由于asp.net路由服务方法不可访问。
另外我认为我也不能使用JSON,因为asp.net路由也是如此。
任何帮助表示赞赏。
更新:
如果我使用此网址运行页面:
http://localhost:2606/searchdetail.aspx
Web方法成功执行。
现在
我有这样的路由:
routes.MapPageRoute("searchdetail", "searchdetail/{ID}", "~/searchdetail.aspx");
routes.MapPageRoute("searchdetail", "searchdetail", "~/searchdetail.aspx");
set_path()仅适用于情况2,即没有ID,但不适用于情况1
如果我尝试
http://localhost:2606/searchdetail
工作正常
但是,如果我尝试使用:
http://localhost:2606/searchdetail/123
它给出该对象预期的错误。
所以set_path()是我应该写的选项。
当前,WebMethods不能与路由框架透明地工作。有一个解决方法。您必须通过在JavaScript中执行以下操作直接访问PageMethods:
PageMethods.set_path('/the/path/to/your/page.aspx');
PageMethods.YourMethod(params, onSuccess, onFailure);
我希望这有帮助。
本文向大家介绍asp.net-web-api 路由在ASP.NET WebAPI中的工作方式,包括了asp.net-web-api 路由在ASP.NET WebAPI中的工作方式的使用技巧和注意事项,需要的朋友参考一下 示例 在ASP.NETWeb API中,控制器是处理HTTP请求的类。控制器的公共方法称为动作方法或简称为动作。 Web API框架收到请求后,会将请求路由到操作。为了确定要调用的
问题内容: 我想从JS调用静态服务器端方法,所以我决定在我的网站上使用ScriptManager控件。所以我有一个具有这样结构的母版页: 但是,当页面正在加载时,我有一个JS异常-PageMethods未定义。我以为该对象将被隐式创建,因此我可以在我的JavaScript中使用它。 问题答案: 我已经意识到为什么未找到PageMethod对象的原因,因为ScriptManager组件位于使用Pag
本文向大家介绍剖析Asp.Net路由系统实现原理,包括了剖析Asp.Net路由系统实现原理的使用技巧和注意事项,需要的朋友参考一下 对于Asp.Net Web Forms应用来说,请求的Url都是对应一个具体的物理文件(http://xxx.com/default.aspx)。这样的Url与具体物理文件紧密绑定在一起,带来了诸多方便的局限:可读性、SEO优化等。为了解决这些局限性,微软引入了URL
问题内容: 如何对ASP.Net Ajax-PageMethods进行同步调用和结果检索? 目前,我正在执行 异步 调用并处理数据: 我如何才能 与结果同步进行 ? 问题答案: 恕我直言,这对于ASP.NET AJAX是不可能的,因为生成的包装器使用异步调用。顺便说一下,您可以使用jQuery来调用PageMethod,而这需要进行设置。
本文向大家介绍asp.net-mvc 路由基础,包括了asp.net-mvc 路由基础的使用技巧和注意事项,需要的朋友参考一下 示例 当您yourSite/Home/Index通过浏览器请求url时,路由模块会将请求定向到class的Indexaction方法HomeController。如何知道将请求发送到此特定类的特定方法?出现了RouteTable。 每个应用程序都有一个路由表,在其中存储路
本文向大家介绍asp.net-core 路由约束,包括了asp.net-core 路由约束的使用技巧和注意事项,需要的朋友参考一下 示例 可以创建自定义路由约束,该约束可在路由内部使用以将参数约束为特定值或模式。 此约束将匹配典型的文化/地区模式,例如en-US,de-DE,zh-CHT,zh-Hant。 之后,必须先注册约束,然后才能在路由中使用约束。 现在,它可以在路线内使用。 在控制器上使用