如何在ASP.NET MVC中为现有模型对象添加静态Address值
解决方案
1. 先补全StudentModel的Address字段
当前你的StudentModel类未定义Address属性,首先需要添加该属性才能存储并传递地址数据:
using System.ComponentModel.DataAnnotations; namespace CRUDinMVC.Models { public class StudentModel { [Display(Name = "Id")] public int Id { get; set; } [Required(ErrorMessage = "First name is required.")] public string Name { get; set; } [Required(ErrorMessage = "City is required.")] public string City { get; set; } // 新增Address属性,不需要加[Required],因为是后端赋值不需要前端提交 public string Address { get; set; } } }
2. 在控制器Create POST方法中赋值静态Address
在调用AddStudent方法之前,直接给绑定好的smodel对象的Address属性赋值即可:
[HttpPost] public ActionResult Create(StudentModel smodel) { try { if (ModelState.IsValid) { // 在这里添加静态Address赋值即可,值可以根据你的需求修改 smodel.Address = "默认静态地址"; StudentDBHandle sdb = new StudentDBHandle(); if (sdb.AddStudent(smodel)) { ViewBag.Message = "Student Details Added Successfully"; ModelState.Clear(); } } return RedirectToAction("Index"); } catch { return View(); } }
修改完成后,表单提交的Name、City会自动绑定到smodel对象,加上你后端赋值的Address字段,就可以完整传递给StudentDBHandle执行存储过程写入数据库。
内容的提问来源于stack exchange,提问作者Frank Andrew
相关产品推荐
相关产品推荐

