前台PageMethods调用后台WebMethod返回的是html代码 如图 怎么处理?

软泡芙
C#领域优质创作者
2020-03-16 09:56:11
...全文
405 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hello World, 2020-03-18
  • 打赏
  • 举报
回复
再建项目测试就知道了,多动手~~
软泡芙 2020-03-18
  • 打赏
  • 举报
回复
引用 12 楼 Hello World, 的回复:
如果是高版本的话一般都是混合的,webform和MVC都可以,大概是新建时勾选了
那时候建的是这样的 应该不会交叉到吧
Hello World, 2020-03-18
  • 打赏
  • 举报
回复
如果是高版本的话一般都是混合的,webform和MVC都可以,大概是新建时勾选了
软泡芙 2020-03-18
  • 打赏
  • 举报
回复
引用 10 楼 Hello World, 的回复:
路径的话看浏览器的地址栏也可以,或者F12开发工具里也可以看。 删除之前一般访问路径是webform1,删除之后是webform1.aspx 既然用MVC了,就用控制器来写好了,也很方便的
地址栏点击按钮的时候也只有这个 console里也没看到相关信息 我建的是普通asp网站不是mvc 怎么会出现这问题呢
软泡芙 2020-03-17
  • 打赏
  • 举报
回复
引用 4 楼 Hello World, 的回复:
检查一下请求看看是不是正确的,感觉并没有调用后台的Delete功能,是请求了整个页面了。 不行就把这个新项目整个放上来看看
我有这样怀疑过 我贴这两个文件的全部代买 至于把整个项目放上来是怎么个放法呢
软泡芙 2020-03-17
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        [System.Web.Services.WebMethod]
        public static string Delete()
        {
            return "成功";
        }

        }
}
软泡芙 2020-03-17
  • 打赏
  • 举报
回复
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script>
        function clickk() {
            debugger;
            PageMethods.Delete(Deleted);
        }

        function Deleted(result) {
               console.log(result);
        }
   </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True"></asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
            <div>
            <input type="button" value="ss" onclick="clickk()" />
        </div>
                </ContentTemplate>
        </asp:UpdatePanel> 
    </form>
</body>
</html>
Hello World, 2020-03-17
  • 打赏
  • 举报
回复
检查一下请求看看是不是正确的,感觉并没有调用后台的Delete功能,是请求了整个页面了。

不行就把这个新项目整个放上来看看
软泡芙 2020-03-17
  • 打赏
  • 举报
回复
引用 2 楼 Hello World, 的回复:
单是贴出来的这些代码是没有问题的,检查其他代码
因为是新创建的项目 除了这些也没写其他东西了 还有什么原因可能导致此问题吗?
Hello World, 2020-03-17
  • 打赏
  • 举报
回复
路径的话看浏览器的地址栏也可以,或者F12开发工具里也可以看。

删除之前一般访问路径是webform1,删除之后是webform1.aspx

既然用MVC了,就用控制器来写好了,也很方便的
软泡芙 2020-03-17
  • 打赏
  • 举报
回复
引用 8 楼 Hello World, 的回复:
应该是启用了MVC的路由,如果这样的话还是写到控制器里好了。 看看Global.asax.cs里是不是启用了RouteConfig.RegisterRoutes(RouteTable.Routes); 还有就是看看AJAX调用的路径是WebForm1/Delete还是WebForm1.aspx/Delete,带了aspx的话就是对的,不带的话就得用MVC的方法了
、我删了RouteConfig.RegisterRoutes(RouteTable.Routes); 直接就找不到资源了,怎么查看ajax调用路径?感谢你如此耐心的回复
Hello World, 2020-03-17
  • 打赏
  • 举报
回复
应该是启用了MVC的路由,如果这样的话还是写到控制器里好了。

看看Global.asax.cs里是不是启用了RouteConfig.RegisterRoutes(RouteTable.Routes);

还有就是看看AJAX调用的路径是WebForm1/Delete还是WebForm1.aspx/Delete,带了aspx的话就是对的,不带的话就得用MVC的方法了
软泡芙 2020-03-16
  • 打赏
  • 举报
回复
之前做另一个东西的时候还可以,然后做着做着就这样了 于是就新建了这个项目 发给其他人打开也是一样
Hello World, 2020-03-16
  • 打赏
  • 举报
回复
单是贴出来的这些代码是没有问题的,检查其他代码

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧