如何在 angular 2 中停止 aspx 中的页面刷新

How to stop a page refresh in angular 2 within aspx

pagemethod 有效,但是当我使用 webmethod 时它刷新页面破坏了首先使用 angular 2 的原因。

如何防止表单刷新页面?

index.aspx

  <body>
    <form id="form1" runat="server">
         <asp:ScriptManager ID="ScriptManagerMain"
                            runat="server"
                            EnablePageMethods="true" >
        </asp:ScriptManager>
        <my-app>Loading...</my-app>
    </form>
  </body>

index.aspx.cs

  [WebMethod]
  public static string getString()
  {
      return "Test";
  }

app.component.html

<div>
    <Button (click)="btnSubmit_Click">test</Button>
</div>

app.component.ts

btnSubmit_Click()
{
    var test = window['PageMethods'].getString(this.onSucces, this.onError);
}

注:

目前我正在尝试将 angular 2 与公司的 aspx 一起使用,如果它可以工作,它可能会成为小型前端 api 的标准,因为它的信息非常有限感谢您的帮助。

您应该将按钮 type 设置为 button,因为默认情况下按钮 typesubmitbutton 类型 submit 可能导致 post 后退一页。

<div>
    <Button type="button" (click)="btnSubmit_Click()">test</Button>
</div>