【发布时间】:2016-10-22 11:01:11
【问题描述】:
我对 JavaScript 还很陌生,以前从未使用过 Ajax。我想在 Index.cshtml 中添加一个 OnClick,因此当单击一行时,我的代码将查询数据库 (MSSQL) 并返回结果。 我在数据库中有两个表,用户和联系人。 User 中的主键 UID 是 Contact 中的外键。这是我的代码:
控制器
private UserInfoEntities db = new UserInfoEntities();
public ActionResult Index(){
var users = from u in db.User orderby u.UID select u;
return View(users.ToList());
}
查看
@<Info.Model.User>
<script type="text/javascript">
function showEmail() {
var tb = document.getElementById("users");
var rows = tb.rows;
for (var i = 1; i < rows.length; i++) {
rows[i].onclick = (function() {
//some code that query Contact table using UID
// and return Contact.Email in a popup windows or something
});
}
}
</script>
<table class="table" id="users" onclick="showEmail()">
<tr>
<th>
@Html.DisplayNameFor(model => model.NAME)
</th>
<th>
@Html.DisplayNameFor(model => model.UID)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.NAME)
</td>
<td>
@Html.DisplayFor(modelItem => item.UID)
</td>
</tr>
感谢任何帮助!
【问题讨论】:
-
@<List<Info.Model.User>> -
与其在表格点击上设置此功能
onclick="showEmail()",不如在行点击上设置它,就像这样 -<tr onclick="showEmail()">...。现在您无需遍历每一行。 -
" for (var i = 1;" -- 你是故意跳过第一行吗?
标签: javascript sql-server ajax asp.net-mvc