1

.aspx.cs ファイルにループがあります。

foreach (DataRow DRow in DT_Test_Question.Rows)
{
    Question_ID = DRow[1].ToString();
}

ポストバックなしで Java スクリプトの Question_ID にアクセスしたいのですが、Question_ID は最後の値を与えてくれます。Question_ID のすべての値を取得するには?

4

2 に答える 2

2

aspx.cs ファイルに次のコードを使用します

public string Question_ID = "";

protected void Page_Load(object sender, EventArgs e)
{
   foreach (DataRow DRow in DT_Test_Question.Rows) 
   {
        Question_ID += DRow[1].ToString() + ",";
   }
}

aspx に次のコードを使用します

<script type="text/javascript">
  var Question_ID = '<%=Question_ID.Trim(',')%>'.split(',');
  .
  .
  // you can use Question_ID is array of string
</script>

注: Question_ID は JavaScript で使用する前に値を持っている必要があるため、割り当ては page_load / init メソッドで行われます。また、JavaScript でアクセスするには、Question_ID がパブリック変数である必要があることに注意してください。

于 2013-09-12T06:04:15.053 に答える
0

以下のように、すべての Question_ID を保持するための隠しフィールドがあります...

StringBuilder question_IDs = new StringBuilder();

foreach (DataRow DRow in DT_Test_Question.Rows)
{
    if (DRow[1] != null)
    {
        Question_ID = DRow[1].ToString();
        if (question_IDs.length == 0)
            question_IDs.Append(Question_ID);
        else
            question_IDs.Append("," + Question_ID);
    }
}

hdnField.Value = question_IDs.ToString();
于 2013-09-12T06:05:37.090 に答える