リストビュー コントロールがクリックされたときにその行の値を取得しようとしていて、それをテキスト ボックスに表示したいと考えています。http://www.ezzylearning.com/tutorial.aspx?tid=7597714で、この種のシナリオを示す記事を見つけました。javascript を使用してリストビュー コントロールの行の値を取得し、それをテキスト ボックスに設定して、その記事に記載されている JavaScript コードの形式を使用して表示しようとしました。行をクリックするたびに、エラー ウィンドウがポップアップ表示され、Microsoft JScript ランタイム エラー: オブジェクトが期待されますと表示される JavaScript コードのランタイム エラーを修正する必要があります。参考までに、以下に私のコードを示します。よろしくお願いします。
<script type ="text/javascript" >
var row;
var id,name,addr,age,natn,occ;
function GetRow(rowval)
{
row = $(rowval).parent().parent(); // the runtime error hightlights on this line
id = $("#id", row).text();
name = $("#name", row).text();
addr = $("#addr", row).text();
age = $("#age", row).text();
natn = $("#natn",row ).text();
occ = $("#occ",row).text();
row.addClass("highlightRow");
$("#TextBox1").val(id);
$("#TextBox2").val(name);
$("#TextBox3").val(addr);
$("#TextBox4").val(age);
$("#TextBox5").val(natn);
$("#TextBox6").val(occ);
}
</script>
ItemTemplate のリストビュー コントロールのソース コード:
<ItemTemplate>
<tr style="background-color:#E0FFFF; color: #333333;" >
<td>
<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>' style="cursor: pointer;" onclick = "return GetRow();" />
</td>
<td>
<asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
</td>
<td>
<asp:Label ID="AddressLabel" runat="server" Text='<%# Eval("Address") %>' />
</td>
<td>
<asp:Label ID="AgeLabel" runat="server" Text='<%# Eval("Age") %>' />
</td>
<td>
<asp:Label ID="NationalityLabel" runat="server" Text='<%# Eval("Nationality") %>' />
</td>
<td>
<asp:Label ID="OccupationLabel" runat="server" Text='<%# Eval("Occupation") %>' />
</td>
</tr>
</ItemTemplate>