我有一个视图,用户将输入一个ID,该ID将传递给控制器方法,然后该控制器方法将填充包含相关患者记录的视图。
我是MVC新手,无法从文本框中获取ID并将其传递给控制器方法。我感谢任何帮助。
在我看来:
@model Final.Models.Patient
@Html.TextBoxFor(model => model.Patient_ID)
@Html.ActionLink("Patient", "Details", new { id=???? })
在我的控制器中:
public ViewResult Details(decimal id)
{
Patient patient = db.Patients.Single(p => p.Patient_ID == id);
return View(patient);
}
感谢。
我能够使用以下内容:
@using (@Html.BeginForm("Details", "Patient")) {
@Html.TextBoxFor(model => model.Patient_ID)
<input type="submit", value="Submit"/>
public ActionResult Details(Patient _patient)
{
decimal id = _patient.Patient_ID;
Patient patient = db.Patients.Single(p => p.Patient_ID == id);
return View(patient);
}
答案 0 :(得分:2)
jQuery方法可以接受吗?您可以为文本框分配一个id,然后获取值(用户输入的id),然后使用$ .ajax
提交给您的控制器 @Html.TextBoxFor(model => model.PatientID, new { id = "patient"})
$.ajax({
url: '/Home/Details',
type: 'POST',
data: { id: $('#patient').val()},
async: false,
success: function (result) {
alert('success!');
}
});
希望这可以帮助你:)
答案 1 :(得分:0)
在ActionResult中接收模型
@model Final.Models.Patient
@usign (@BeginForm("Details","Controller"){
@Html.TextBoxFor(model => model.Patient_ID)
@Html.ActionLink("Patient", "Details", new { id=???? })
<input type="submit", value="Submit"/>
}
控制器中的
[HttpPost]
public ActionResult Details(Patient _patient)
{
decimal id = _patient.Patient_ID
Patient patient = db.Patients.Single(p => p.Patient_ID == id);
return View(patient);
}