【发布时间】:2012-06-22 19:48:07
【问题描述】:
我对 C# 和 javascript 有点陌生,所以虽然我的问题很具体,但我愿意接受任何替代方案。
我有一个值数组(我在 javascript 函数中创建),我想将其发送到我的代码隐藏文件以在方法中使用。从我使用 ajax 研究并使用 JSON 对数组进行字符串化似乎是最好的方法。
我的问题是
我可以使用这种方法传递数组吗?
如何在服务器端捕获信息(在我的代码隐藏中?)
Javascript 传递值
var jsonvalues = JSON.stringify(values);
var callback = window.location.href
$.ajax({
url: callback
type: "POST",
contentType: 'application/json',
data: jsonvalues
});
我见过很多使用 [WebMethod] 或某种 WebService 来捕获数据的解决方案,我可以使用它在我的代码隐藏文件中进行工作而无需返回数据吗?
这是我在代码隐藏文件中使用的内容
[WebMethod]
public static void done(string[] ids)
{
String[] a = ids;
}
【问题讨论】:
-
谢谢!在充实了我的问题之后,很明显这是一个至关重要的组成部分。不过,我将首先尝试使用
[HttpPost]使用 Milimetric 的答案。 -
我仍然不知道如何处理代码隐藏端的调用。我尝试编写一种方法来捕获数组,但我不断收到 ajax 调用错误。我已将代码隐藏方法添加到原始问题中
-
看看这个问题Jquery AJAX with ASP.NET WebMethod Returning Entire Page。忽略关于退货的部分,看看他们是如何构建
url的。 -
感谢您的链接,我接到了正确发帖的电话——我收到了来自电话的
success。但是我的方法仍然没有被调用。 -
最后一条评论的编辑时间用完了......我想出了两个可能的原因...... 1)我的代码隐藏使用
partial class并继承基类System.Web.UI.UserControl而不是比Page(正如我看到的大多数 [WebMethod] 示例使用)。 UserControl 基类对于类中的其他方法是必需的,我是否需要让我的 WebMethod 继承Page? 2) 我没有使用<asp:ScriptManager>或PageMethods,我需要这些吗?
标签: c# javascript jquery asp.net webforms