【发布时间】:2019-06-18 03:59:36
【问题描述】:
我的视图中有一个显示作业的列表,当我单击该链接时,它应该将我带到不同的页面以显示完整的详细信息,并且在浏览器中的 url 应该显示如下
//mysite.com/jobs/auto-damage-adjuster-trainee-houston-and-surrounding-cities。
为了实现这一点,我尝试在单击时提交表单并将隐藏值传递给控制器。但它总是传递列表中的第一项。
@model List<JobPortal.Models.MyDB>
@{
ViewBag.Title = "Current List";
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@foreach (var list in Model)
{
<div class="row">
<div class="flexcontainer">
@Html.Partial("_MySharedView", list)
</div>
</div>
}
}
共享视图 -
@model JobPortal.Models.MyDB
@if (Model.JDetails.Count > 0)
{
@foreach (var item in JDetails)
{
<form id="Jobs" action="~/Jobs?id=@Model.id" method="post">
<input type="hidden" name="id" id="id" value=@Model.id />
<strong><a href="~/Jobs?@Model.title" onclick="document.getElementById('Jobs').submit();">@Model.title</a></strong>
</form>
}
}
控制器 -
public ActionResult Jobs(int? id)
{
var allDetails = _db.MyDB.Where(p => p.id == id).FirstOrDefault();
return View(allDetails);
}
如何提交表单 onclick href 并将隐藏值传递给控制器?
【问题讨论】:
-
强制使用 POST 方法而不是 GET 方法?
标签: javascript c# razor