.aspx.cs ファイルにループがあります。
foreach (DataRow DRow in DT_Test_Question.Rows)
{
Question_ID = DRow[1].ToString();
}
ポストバックなしで Java スクリプトの Question_ID にアクセスしたいのですが、Question_ID は最後の値を与えてくれます。Question_ID のすべての値を取得するには?
.aspx.cs ファイルにループがあります。
foreach (DataRow DRow in DT_Test_Question.Rows)
{
Question_ID = DRow[1].ToString();
}
ポストバックなしで Java スクリプトの Question_ID にアクセスしたいのですが、Question_ID は最後の値を与えてくれます。Question_ID のすべての値を取得するには?
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 がパブリック変数である必要があることに注意してください。
以下のように、すべての 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();