[英]How to pass object into function in JavaScript
我正在做关于ASP.NET MVC和ASP.NET WEB API的任务我有数据库,如:
ID, FirstName, Middle, LastName, DoB, Gender.
我使用EF和ADO.NET来建立从数据库到ASP.NET的连接。 我写了一个像DoubleClickRow这样的函数:
<script language="JavaScript">
function *DoubleClickRow*(thisRow)
{
var id = thisRow.ID //Get ID from a row with double click event but it does not shown on table.
location.href="~/Employees/Details/ + "id" //Open a new page to display employee detail with id above.
}
</script>
还有一张表:
<table class="table">
<tr>
<th>
<p>Select</p>
</th>
<th>
@Html.DisplayNameFor(model => model.FirstName)
</th>
<th>
@Html.DisplayNameFor(model => model.Middle)
</th>
<th>
@Html.DisplayNameFor(model => model.LastName)
</th>
<th>
@Html.DisplayNameFor(model => model.DoB)
</th>
<th>
@Html.DisplayNameFor(model => model.Gender)
</th>
<th>
@Html.DisplayNameFor(model => model.StartDate)
</th>
<th></th>
</tr>
@foreach (var item in Model) { //Data
<tr ondblclick="*DoubleClickRow*(this)">
<td>
<input type="checkbox" />
</td>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Middle)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.DoB)
</td>
<td>
@Html.DisplayFor(modelItem => item.Gender)
</td>
<td>
@Html.DisplayFor(modelItem => item.StartDate)
</td>
<td>
@Html.ActionLink("Details", "Details", new { id=item.EmployeeId })
</td>
</tr>
}
</table>
但它不起作用。 请出示我的错误,并帮我解决。
将引用传递给此行本身
更换
ondblclick="DoubleClickRow(**item**)"
同
ondblclick="DoubleClickRow(this)"
和DoubleClickRow方法一样
function DoubleClickRow(thisRow)
{
var columns = thisRow.children;
for (var counter = 0; counter < columns.length; counter++ )
{
console.log("column " + counter + " = " + columns[counter].innerHTML );
}
}
你可以设置这样的id:
<tr ondblclick="*DoubleClickRow*(this)" id="@Html.DisplayFor(modelItem => item.ID)">
现在你可以得到这样的id
function *DoubleClickRow*(thisRow){
var id = thisRow.id;
/* your code */
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.