2011-04-11 3 views
0

나는 asp.net webapp을 가지고 있고 Jquery를 사용하고있다. 클라이언트 측에서 생성 된 테이블에서 데이터를 가져올 수있는 방법을 알고 싶었습니다. 나는 몇 가지 다른 방법을 시도했지만 잘 알려져 있습니다. 난 그냥 UID를 가진 숨겨진 클래스에서 행의 데이터를 클릭 경고 말할 수 있어야합니다. 이것은 asp.net 정규 HTML이 아니라는 것을 유의하십시오. 그래서 그것을 요약하기 위해 나는 테이블을 생성하는 listview를 가지고 있고, 각 행은 내가 333-444-556-66과 같은 ID를 저장하도록 만든다. 사용자가 행을 클릭하면 해당 클래스의 해당 ID에 경고합니다. 감사합니다jquery asp.net listview

답변

0

가장 쉬운 방법은 ASP.NET임을 잊어서 HTML처럼 다루기 시작하는 것입니다. ID를 클라이언트에 전달해야합니까? HTML에 추가하십시오.

<ItemTemplate> 
    <asp:TableRow id="TemplateRow" datakey='<%# Eval("MyDataKeyField")>' %> /> 
    ... 
</ItemTemplate> 

또는 코드 : 마크 업에 jQuery를에 그런

<table class="myDataTable"> 
    <tr id="$some$insane$asp$dot$net$id" datakey="555-66"> 
     <td> ... </td>... 
    </tr> 
    ... 
</table> 

:

override void OnInit(EventArgs e) { 
    ListView1.ItemDataBound += new 
     EventHandler<ListViewItemEventArgs>(ListView1_ItemDataBound); 
} 

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    TableRow row = e.Item.FindControl("TemplateRow"); 
    row.Attributes["datakey"]=((MyDataSourceType)e.Item.DataItem).MyDataKeyField; 
} 

그래서 지금 당신은 이런 식으로 렌더링하는 HTML을해야합니다. asp.net ID를 무시하십시오. 그것은 asp.net하지만 아무에게도 유용하지 않습니다. 그러나 자신의 ID는 렌더링 한 그대로입니다. 그러니 그냥 잡아라.

$(document).ready(function() { 
    $('.myDataTable tr').click(function(e) { 
     var $my_id = $(this).attr('datakey'); 
     alert($my_id); 
    }); 
}); 
0

작성한 각 행에 편집 버튼이 있어야합니다. 당신은 당신이 ID를 전달 행을 클릭하거나 ID를 끌어 행 var에 ID에서 ID를 끌어

ID를 기반으로 결과를 얻을 수있는 서버로 요청을 = 데이터 [I] .ID

관련 문제