0

试图弄清楚如何在网络表单中调用 ac# 函数。我尝试了 ajax 和 windows.location 但可能只是在我的路上。尝试在 SpeakerList.aspx/update 发送我的 c# 代码,然后附加我在 javascript 中的两个变量,这应该不会太糟糕。但是希望它点击 C# 函数然后重新加载页面,所以希望我缺少一个简单的调用。

 buttons: {
                    "Save": function () {
                        var combo = ASPxClientControl.GetControlCollection().GetByName('DropDownList1');
                        var value = combo.GetSelectedItem().value;
                        var billID = $("#billID").val();
                        window.location = "SpeakerList.aspx/updateRec";
                    }
4

2 回答 2

0

您可能想尝试使用 WebMethods:

http://aspalliance.com/1922_PageMethods_In_ASPNET_AJAX.all

这允许您在使用 JavaScript 的页面代码中调用函数。

于 2013-09-20T20:01:25.670 回答
0

假设您使用的是 MVC,您可能希望返回 JSON 结果。在客户端网页中使用 Json 的一种简单方法是使用 JQuery。您可以将 JSON 作为网页的输出返回,但我不建议这样做。创建一个表示 JSON 方法的单独服务点。

很难说出您实际上要完成什么,但 JSON 方法的正常使用模式是将参数作为查询字符串的一部分提供(如果需要,您可以使用路由重构)。结果就是一个 JSON 数据包。

就个人而言,我喜欢将 JSON.Net 用于服务器端 JSON,但您实际上并不需要它。查找 JSONMethod 以获取示例等,这些示例将向您展示如何执行此操作。

从浏览器客户端来看,JQuery 有一个 json 方法,但我个人建议使用更通用的 ajax 方法一个 JQuery,这样您就可以使用处理程序来处理成功、错误和完成。例如

  $.ajax({
    url: "http:...",
    data: queryparm,
    cache:false,
    timeout:15000,
    success: function(data){
      jresult = $.parseJSON(data);
      ...
    },

    error:function (xhr, ajaxOptions, thrownError)
    {
      setErrorMsg("Error getting search results: " + thrownError);
    } 
  });

编辑——实际上,我也用 webforms 做了同样的事情,代码基本上是相同的(如果你在服务器端使用 JSON.Net)。您没有使 url 符合 REST 的路由选项,但作为内部 json Web 服务,您可能不会真正关心这一点。

作为网页 (.aspx) 页面,您可以使用“回发”,这是 Web 表单最简单的方法。如果您不传回本机“控制”值,则始终可以声明一些隐藏字段以用于数据传递。如果您不知道如何执行此操作,则需要阅读有关使用 Web 表单的教程。

于 2013-09-20T20:28:08.050 回答