2012-08-29 4 views
4

나는 asp.net C#에서 작업 중이다. C#에서 ascx 페이지로 문자열 값을 보내려고합니다. 내가 [처럼 오는 불을 지르고 값을 사용하여 자바 스크립트를 디버깅 할 때 나는 "내가이 좋아했다,C#에서 ascx 페이지로 자바 스크립트 값을 전달하는 방법

string one = @"\'" + names[0, 0] + "\'" + "," + @"\'" + names[1, 0] + "\'"; 
string[] splitted = one.Split('\''); 
string onces = splitted[1] + "," + splitted[3] ; 
inpHide.Value =onces; 

가 ASCX 페이지에서 내가 자바 스크립트로이 값을 전달해야한다, 그렇게 할

$(document).ready(function() { 
    var hiddenControl = '<%= inpHide.ClientID %>'; 
    var values = document.getElementById(hiddenControl).value; 
    alert(values); 

    var tweetUsers = [values]; 
}); 
<input id="inpHide" type="hidden" runat="server" /> 

를 다음 코드를 사용하고 "twitter", "microsoft" "]하지만"따옴표가 자동으로 javascript에 추가됩니다.이 문자열 때문에 JavaScript [twitter ","microsoft "]가 작동하지 않습니다.이 문제를 어떻게 해결할 수 있습니까? 이 문제를 해결할 수 있도록 도와주세요. 미리 감사드립니다.

+0

값은 문자열이 아니라 배열입니다. 문자열을 배열로 변환해야합니다. 다음과 같이 .split()을 사용해보십시오 : var tweetUsers = values.split (/, /); (그것은 좋은 해결책이 아니지만) – Onkelborg

답변

1

y OU는 JSON을 사용하여 시도하고 클라이언트 측에 해당 문자열 통과해야합니다 사용이 기능을 JSON으로 문자열을 직렬화 :

public string ToJSON(this object obj) 
    { 
     JavaScriptSerializer serializer = new JavaScriptSerializer(); 
     return serializer.Serialize(obj); 
    } 

을 한 다음 클라이언트 측에 반환 문자열을 전달, 공공 문자열 를 사용해보십시오 그리고 javascript에서는 숨겨진 컨트롤 대신 public string을 사용합니다.

관련 문제