在我的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#代码中实际解析数据以使用原始数据填充这三个变量。
答案 0 :(得分:0)
使用分隔符总是有风险的,因为用户在输入中使用了该字符。
我会考虑创建一个JSON对象并使用.net将其转换为您需要的对象:
这是关于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”)作为分隔符,因为用户通常很难将该字符输入到大多数类型的输入字段中。