从javascript回发分隔文本并在服务器端解析

时间:2010-06-03 13:47:17

标签: c# javascript parsing

在我的ASP.NET页面中,我有一个Javascript对象,如下所示:

    var args = new Object();
    args.Data1 = document.getElementById("Data1").value;
    args.Data2 = document.getElementById("Data2").value;
    args.Data3 = document.getElementById("Data3").value;

使用用户输入数据在客户端填充对象。我通过Ajax请求将数据传递给C#方法:

    someObj.AjaxRequest(argsData1 + "|" + argsData2 + "|" + argsData3)

最后,我需要在我的C#代码中获取数据:

   string data1 = [JS args.Data1]
   string data2 = [JS args.Data2]
   string data3 = [JS args.Data3]

我的问题是什么是最好的解决方案?由于我连接了一些用户输入,我不认为最好使用“|”作为分隔符。另外,我不清楚如何在我的C#代码中实际解析数据以使用原始数据填充这三个变量。

2 个答案:

答案 0 :(得分:0)

使用分隔符总是有风险的,因为用户在输入中使用了该字符。

我会考虑创建一个JSON对象并使用.net将其转换为您需要的对象:

http://www.json.org/

Serializing JSON FROM C#

这是关于C#中反序列化json对象的link

如果你在这里使用分隔符是如何在C#端解析它:

string inputs = INPUTS;

string[] s = inputs.split('|');

string data1 = s[0];
if(s.Length > 1)
{
  string data2 = s[1];
}
if(s.Length> 2)
{
   string data3 = s[3];
}

答案 1 :(得分:0)

我喜欢使用制表符(“\ t”)作为分隔符,因为用户通常很难将该字符输入到大多数类型的输入字段中。