我有一个动态创建的grdview,其中包含4
列和n
行数。
每列都有一个Button
控件,其中包含Id
个不同的Click
。该控件具有row
事件。当事件触发时我想在运行时找到cell
索引和Id
索引或该按钮的// New user - add them to database
echo "Creating your account. <br>";
$pwd = '12345';
//$password = password_hash(trim($_POST['password']), PASSWORD_DEFAULT);
$password = password_hash($pwd, PASSWORD_BCRYPT);
echo $password . '<br>';
$dbpwd = $password;
echo $dbpwd . '<br>';
if(password_verify(trim($pwd), $dbpwd))
{
echo 'Match<br>';
}
else
{
echo 'Match failed<br> ';
}
答案 0 :(得分:0)
在本文中将解释如何使用JavaScript获取ASP.Net GridView Row及其RowIndex客户端。我还将解释如何使用JavaScript在GridView模板字段客户端中找到GridView单元格和控件。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type = "text/javascript">
function GetSelectedRow(lnk) {
var row = lnk.parentNode.parentNode;
var rowIndex = row.rowIndex - 1;
var customerId = row.cells[0].innerHTML;
var city = row.cells[1].getElementsByTagName("input")[0].value;
alert("RowIndex: " + rowIndex + " CustomerId: " + customerId + " City:" + city);
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns = "false" AllowPaging = "true" OnPageIndexChanging = "PageIndexChanging">
<Columns>
<asp:BoundField DataField = "CustomerID" HeaderText = "CustomerID" />
<asp:TemplateField HeaderText = "City">
<ItemTemplate>
<asp:TextBox ID="txtCity" runat="server" Text = '<%# Eval("City") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkSelect" runat="server" Text="Select" CommandName = "Select" OnClientClick = "return GetSelectedRow(this)" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
</html>
答案 1 :(得分:0)
找到行的索引你可以简单地执行此操作
GridViewRow gvr = e.Row;
或
int index = Convert.ToInt32(e.RowIndex);
并找到控件的值,例如文本框的文本,你可以这样做
Label lb_ID = (TextBox)GridInvoice.Rows[index].Cells[1].FindControl("Label_ID");
其中index是行索引而cell [1]是单元格索引,即如果你的网格中有4个单元格则索引从单元格[0] ...单元格[3]开始。这里单元格[1]表示控制在ur网格的单元格2中。 如果你有网格值绑定表格数据库,你有一些像主键一样的唯一ID,你正在对数据库中的这个值进行操作然后从Frond结束将此属性添加到gridview(DatakeyNames =&#34;你的主键或uniqe value comeing form database&#34 ;;现在如果你有按钮或链接按钮控件(或任何其他控件在网格视图中引发事件然后在事件上写这个代码,它会自动捕获你的主键和行索引。< / p>
protected void lnkbtnEdit_Click(object sender, EventArgs e)
{
GridViewRow gvrows = ((LinkButton)sender).NamingContainer as GridViewRow;
int32 Key = (Convert.ToInt32(grvCityList.DataKeys[gvrows.RowIndex].Values[0].ToString()));
Now do ur logic here
}
希望你能得到你想要的东西