MVC3:将用户输入的ID作为参数传递给控制器方法
问题描述:
我有一个视图,用户将输入一个ID,该ID将传递给控制器方法,然后该控制器方法将填充包含相关患者记录的视图。MVC3:将用户输入的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);
}
答
在控制器
[HttpPost]
public ActionResult Details(Patient _patient)
{
decimal id = _patient.Patient_ID
Patient patient = db.Patients.Single(p => p.Patient_ID == id);
return View(patient);
}
答
接收模式中的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"/>
}
是jQuery的方法可接受您?您可以分配一个id,文本框,然后得到的值(由用户输入的ID),然后使用$就
@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!');
}
});
希望这有助于你:)
为了接收提交到控制器在ActionResult模型中,你的控制器的代码块会说ActionResult而不是ViewResult是否正确? – HendPro12
和Im不确定代替id =后面的问号放置什么。也有点困惑,为什么你显示病人被传递到控制器而不是身份证。 – HendPro12