【问题标题】:how to call a method in aspx.cs through $.ajax jquery in asp.net如何在 asp.net 中通过 $.ajax jquery 调用 aspx.cs 中的方法
【发布时间】:2015-10-05 19:10:08
【问题描述】:

这是我想通过ajax调用调用callme()方法的aspx.cs页面

public void callme()
            {
                if (ddlApprovalType.SelectedValue == "1") // location
                {
                    BindDropdownlist(ddlLocation, "LOC");// LOC = Location
                }
                else if (ddlApprovalType.SelectedValue == "2") // process
                {
                    BindDropdownlist(ddlLocation, "LOC");// LOC = Location
                    ddlProcess.Items.Clear();
                    ddlSubProcess.Items.Clear();
                    ddlProcess.Items.Insert(0, new ListItem()
                    {
                        Value = "select",
                        Text = "---Select---",
                        Selected = true
                    });
                    ddlSubProcess.Items.Insert(0, new ListItem()
                    {
                        Value = "select",
                        Text = "---Select---",
                        Selected = true
                    });
                }

            }

这是我的 .aspx 页面

<asp:DropDownList runat="server" ID="ddlApprovalType" AutoPostBack="True" class="clsapprovalType" Style="font-family: arial;
                                    font-size: 13px; color: #353535; width: 200px; border: solid 1px #353535; background-color: transparent;" />



  <script type="text/javascript">
              $(".clsapprovalType").change(function () {
                  var approvalTypeVal = $j(this).val();
                  if (approvalTypeVal == "1") {
                      ("#trlocation").show();
                  }
               $.ajax({url:'mypage.aspx/callme', method:get});
              });
        </script>

如何在不使用更新面板的情况下使用 jquery 在 asp.net 中通过 $.ajax 访问 callme() 方法?

【问题讨论】:

  • 要么设置一个 HttpHandler,要么看看WebMethods
  • @Andrei:尽管 OP 使用 web 方法。是否可以在 Web 方法中访问服务器控件?
  • @Suprabhat,当然不是。然后,如果使用,OP 将需要更改响应方式。但我明白了,更新面板在这里可能是一个更好的选择

标签: jquery asp.net ajax


【解决方案1】:

首先你需要知道 ajax 只会调用静态方法。最终您无法以静态方法访问页面级控件。所以你必须传递参数并将 o/p 返回到客户端并在客户端代码(即在 ajax 成功函数内部)操作 DOM。

对于 ajax 调用,它已经在许多帖子中得到了回答。你可以通过这个reference

【讨论】:

    猜你喜欢
    • 2012-05-28
    • 2015-07-19
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    相关资源
    最近更新 更多