2010-06-03 2 views
0

에 구문 분석, 나는 다음과 같이 자바 스크립트 객체를 가지고 :자바 스크립트에서 구분 된 텍스트의 다시 게시 내 ASP.NET 페이지에서 서버 측

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

개체는 사용자가 입력 한 데이터를 사용하여 클라이언트 측에서 채워집니다.

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

내 질문에 가장 적합한 솔루션입니다 것입니다 :

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

마지막으로, 나는 내 C# 코드의 데이터를 얻기 위해 필요 : 나는 Ajax 요청을 통해, C#을 메서드에 데이터를 전달하고있다 이? 내가 사용자 입력 비트를 연결할 때, 나는 "|"을 사용하는 것이 최선이라고 생각하지 않습니다. 구분 기호로 사용합니다. 또한 실제로 C# 코드의 데이터를 구문 분석하여 세 변수를 원래 데이터로 채우는 방법은 분명하지 않습니다.

답변

0

구분 기호를 사용하는 것은 사용자가 입력에서 해당 문자를 사용하기 때문에 항상 위험합니다. 내가 JSON 객체를 생성하고 당신이 필요로 변환 .NET을 사용하여 볼 것

: 여기

http://www.json.org/

Serializing JSON FROM C#

는 C#에서 JSON 객체를 deserialzing에 link이다.

당신이 여기에 구분 기호를 사용하는 경우는 C# 측을 구문 분석하는 방법이다

불가능 하드 일반적이기 때문에이 구분 기호로 탭 문자 ("\의 t")를 사용하려면
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]; 
} 
+0

JSON이 좋은 아이디어 인 것처럼 보입니다. 나는 JSON.NET을 가지고 놀기 시작했다. 비록 지금까지는 가장 간단한 객체조차도 deserialize하는 방법을 아직 알지 못했다. (나는 그것에 대해 질문을 올렸다. http://stackoverflow.com/questions/2972431)/json-net - 비 직렬화 된 C 결과에서 직렬화) –

0

사용자가 대부분의 입력 필드 유형에 해당 문자를 입력 할 수 있습니다.

관련 문제