Обратная передача текста с разделителями из JavaScript и анализ на стороне сервера - PullRequest
0 голосов
/ 03 июня 2010

На моей странице 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;

Объект заполняется на стороне клиента с использованием пользовательских данных. Я передаю данные в метод C # через запрос Ajax:

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

Наконец, мне нужно получить данные в моем коде C #:

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

Мой вопрос: какое решение лучше для этого? Поскольку я объединяю биты пользовательского ввода, я не думаю, что лучше использовать «|» в качестве разделителя. Кроме того, мне не ясно, как на самом деле анализировать данные в моем коде C #, чтобы заполнить три переменные исходными данными.

Ответы [ 2 ]

0 голосов
/ 03 июня 2010

Мне нравится использовать символ табуляции ("\ t") в качестве разделителя, потому что пользователю обычно трудно или невозможно ввести этот символ в большинство типов полей ввода.

0 голосов
/ 03 июня 2010

Использование разделителя всегда рискованно, потому что пользователь использует этот символ во входных данных.

Я бы посмотрел на создание объекта JSON и использование .net для преобразования его в то, что вам нужно:

http://www.json.org/

Сериализация JSON FROM C #

Вот ссылка на десериализацию объектов json в C #.

Если вы используете разделитель, вот как его проанализировать на стороне 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];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...