4

我正在研究 asp.net c#。我想将字符串值从 c# 发送到 ascx page 。我正在使用以下代码来做到这一点,

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 中。但由于这个字符串 javascript 我应该像这样 ["twitter","microsoft"]不工作。我该如何解决这个问题?请帮我解决这个问题。提前谢谢你。

4

1 回答 1

1

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

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

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

于 2012-08-29T06:37:17.743 回答