gpt4 book ai didi

asp.net - Visual Studio 2013 中的 PageMethod 未调用(触发)WebMethod

转载 作者:行者123 更新时间:2023-12-01 02:20:10 28 4
gpt4 key购买 nike

我有以下问题:

在 Visual Studio 2013(ASP.NET WebForms 应用程序)中创建的项目上未完成来自 WebMethod 的调用。例如,如果我在 Visual Studio 2008 中创建一个项目并迁移到 VS 2013 工作正常。仅当我在 Visual Studio 2013 中创建新项目时才会出现此问题。控制台中没有错误消息。 WebMethod 只是没有被调用。没发生什么事。我搜索了很多,但一无所获。

ASPX 代码:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="TestePageMethods._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />

<script type="text/javascript">

function testeClick() {
PageMethods.SayHello("Name");
}

</script>

<input type="button" value="Say Hello" onclick="testeClick();" />
</form>
</body>
</html>

ASPX.VB 代码:

Partial Public Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

<System.Web.Services.WebMethod(True)> _
Public Shared Function SayHello(ByVal name As String) As String
Return "Hello " & name
End Function

End Class

有没有人尝试过这个或知道解决方案?我不知道该怎么做 ...

编辑:

伙计们,我现在又发现了一个信息:

仅适用于 VS2013:

-新项目。
-Web - ASP.NET Web 应用程序。
- 选择模板“空”。
- 插入页面“Default.aspx”,WebMethod正常工作...

现在,如果您创建一个新项目并选择模板“WebForms”,则不起作用...

可以交叉引用吗?或一些不同的设置?

最佳答案

我找到了解决我的问题的方法:阻止调用 WebMethod 的是对“System.Web.Optimization”的引用。不知道他是怎么做的,但由于我当时不会使用它,决定删除:

“System.Web.Optimization”和“Microsoft.AspNet.Web.Optimization.WebForms”

还需要删除 web.config 如下:

<namespaces>
<add namespace="System.Web.Optimization" />
</namespaces>

<add assembly="Microsoft.AspNet.Web.Optimization.WebForms"

namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />

<dependentAssembly>
<assemblyIdentity name="WebGrease" culture="neutral"

publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>

现在一切正常!感谢所有帮助我解决问题的人! :)

关于asp.net - Visual Studio 2013 中的 PageMethod 未调用(触发)WebMethod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21091935/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com