如何将值从c#传递给ascx页面的javascript

时间:2012-08-29 05:47:10

标签: c# javascript asp.net

我正在使用asp.net c#。我想从c#向ascx页面发送一个字符串值。我正在使用以下代码来做到这一点,

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

在ascx页面中,我应该将此值传递给javascript,我确实喜欢这个,

$(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“”]的firebug值调试javascript但是“引号被自动添加到javascript中。但我应该像这样[”twitter“,”microsoft“]因为这个字符串javascript无法正常工作。我该如何解决这个问题?请帮我解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:1)

你应该尝试使用JSON,并将该字符串传递给客户端: 使用此函数将您的字符串序列化为JSON:

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

然后将返回字符串传递给客户端,尝试使用公共字符串 并在javascript中使用该公共字符串而不是隐藏控件