如何将代码后面的数组值传递给jQuery?

时间:2009-09-10 10:41:11

标签: asp.net jquery

我在我的网络应用程序中使用jQuery。有两个字段我想使用jQuery从代码后面传递一个数组值。

我将此代码用于图表:

var chart2={
  label:names['c2'],
  type:$('select[@name=c2type]').val(),
  color:$('select[@name=c2color]').val(),
  values:getTableCol('c2'),
  stackedOn:names[$('select[@name=c2stack]').val()]};  

values:getTableCol('c2')中,我需要从页面后面的代码传递数组值。现在,它从表列中获取其值,但我不需要该表。在这里,我想在运行时传递形式{12,45,45,50,55}的值。这是多变的。

如何传递此值?

4 个答案:

答案 0 :(得分:1)

您可以序列化为JSON并放入页面 - JSON是合法的JavaScript。

代码隐藏:

using System.Web.Script.Serialization;

protected string JsonArray
{
  get {
    var myArray = new int[] { 1, 2, 3 };
    return new JavaScriptSerializer().Serialize(myArray);
  }
}

的.aspx:

var chart2 = {
  values: <%= JsonArray %>
};

答案 1 :(得分:1)

我在Page_PreRender中使用以下内容:

Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "DeclareMyArray", @"var myArray = ['hello', 'world'];", true);

然后你应该能够做到以下几点:

var chart2={
   label:names['c2'],
   type:$('select[@name=c2type]').val(),
   color:$('select[@name=c2color]').val(),
   values:myArray,
   stackedOn:names[$('select[@name=c2stack]').val()]};

答案 2 :(得分:0)

您可以使用HtmlInputHidden控件将值渲染到页面上的隐藏字段中。如果您为该字段提供可以从jQuery引用的ID,您将能够访问它。

答案 3 :(得分:0)

// selects both table header and table data cells from the third column of #mytable
$('#mytable th:nth-col(3), #mytable td:nth-col(3)');

// same as above but using the nthCol extension function
$('#mytable th, #mytable td).nthCol(3);

http://www.bramstein.com/projects/column/

复制