我对使用网络服务比较陌生。我正在尝试创建一个将接受来自ASP.Net表单的数据的表单,其输入控件是在运行时动态创建的,而我不会传递多少控件值。
我在想我将在表单上使用jQuery的serialize()来获取数据,但是我有什么Web服务接受参数?我想也许我可以使用serializeArray(),但我仍然不知道JavaScript数组接受什么类型的变量。
最后,我想我可能需要在将数据发送到Web服务之前使用数据创建一个简单的数据传输对象。如果有一个更简单的方法或我应该遵循的既定最佳实践,我只是不想通过DTO路线。
提前感谢您提供的任何指示,并让我知道我不够清楚,或者如果您有任何问题。
答案 0 :(得分:0)
标题问题(假设这是一个ASP.Net网络服务)的答案是在您的网络服务方法中使用params
关键字:
[WebMethod]
public void SendSomething(params string[] somethings)
{
foreach (string s in somethings)
{
// do whatever you're gonna do
}
}
示例:
SendSomething("whatever");
SendSomething("whatever 1", "whatever 2", "whatever 3");
事实上,您甚至不需要params
关键字 - 使用普通数组作为参数将允许您传入未知数量的值。
答案 1 :(得分:0)
我接下来创建了自己的数据传输对象,我觉得它总是大脑解决方案的前沿,我只是觉得可能有一个公认的最佳实践来处理这个问题。