将数据从sql数据库拉入文本字段
本文关键字:文本 字段 数据库 数据 sql | 更新日期: 2023-09-27 17:57:55
我有一个学生表,我想在存储在学生表中的配置文件页面上显示学生的姓名。
这就是我对我的控制器的想法:
public ActionResult StudentName(StudentModel model)
{
if(ModelState.IsValid)
{
using (var db = new SchoolDataContext())
{
var result = from s in db.Students select s.StudentName;
model.StudentName = result.ToString();
}
}
}
在我看来,我有:
@Html.LabelFor(s => s.StudentName)
@Html.TextBoxFor(s => s.StudentName)
我的型号:
public class StudentModel
{
[Display(Name = "Student Name")]
public string StudentName{ get; set; }
}
我需要一个get方法来让学生姓名显示在文本框中,同时还有一个post方法,这样在点击保存后,如果在同一个框中更改,就可以保存。
您的控制器可能看起来像这样:
public ActionResult StudentName(int studentId)//you can't pass a model object to a get request
{
var model = new StudentModel();
using (var db = new SchoolDataContext())
{
//fetch your record based on id param here. This is just a sample...
var result = from s in db.Students
where s.id equals studentId
select s.StudentName.FirstOrDefault();
model.StudentName = result.ToString();
}
return View(model);
}
在上面的get中,您可以传入一个id,然后从数据库中获取记录。使用检索到的数据填充模型属性,并将该模型传递到视图中。
然后在下面的post操作中,您接受模型作为参数,检查模型状态并处理数据。我在这里显示了一个重定向,但在帖子执行后,您可以返回任何想要的视图。
[HttpPost]
public ActionResult StudentName(StudentModel model)
{
if(ModelState.IsValid)
{
using (var db = new SchoolDataContext())
{
//update your db record
}
return RedirectToAction("Index");
}
return View(model);
}