S. M. Ahasan Habib
asp.net вид сетки визуализирует html-таблицу. Поэтому, когда вы используете javascript, вы должны использовать html-таблицу. Следующий код spinet поможет вам понять этот процесс.
<head runat="server">
<title></title>
<script src="jquery.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:gridview id="gv" showheader="false" runat="server" autogeneratecolumns="False" name="grdData" xmlns:asp="#unknown">
<columns>
<asp:templatefield>
<itemtemplate>
<asp:image id="imgPicPath" runat="Server" alternatetext="Missing" imageurl="<%# Eval("pictpath") %>" />
</itemtemplate>
<asp:templatefield>
<itemtemplate>
<asp:label id="lblUserName" runat="server" text="<%# Eval("username") %>" />
</itemtemplate>
<asp:templatefield>
<itemtemplate>
<asp:label id="lblUserId" runat="server" text="<%# Eval("Id") %>" />
</itemtemplate>
</columns>
</div>
<input type="button" id="btnShow" value="show" onclick="showGrid();"/>
</form>
</script>
</body>
< script type= "text/javascript">
function showGrid() {
var tbl = $("[id$=gv]");
var rows = tbl.find('tr');
for (var index = 0; index < rows.length; index++) {
var row = rows[index];
var image = $(row).find("img");
var userName = $(row).find("[id*=lblUserName]").text();
var userId = $(row).find("[id*=lblUserId]").text();
alert(userName + " - " + userId);
}
}
< / script>
public partial class Index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!base.IsPostBack)
{
gv.DataSource = GetData();
gv.DataBind();
}
}
IList<userinfo> GetData()
{
return new List<userinfo>
{
new UserInfo{username = "A", pictpath = "a.jpg", Id = "111"},
new UserInfo{username = "B", pictpath = "b.jpg", Id = "222"},
new UserInfo{username = "C", pictpath = "c.jpg", Id = "333"},
};
}
}
public class UserInfo
{
public string username { get; set; }
public string pictpath { get; set; }
public string Id { get; set; }
}