如何在ASP.NET MVC中保留/保护Edit中的某些字段
发布时间:2020-05-28 05:08:37 所属栏目:asp.Net 来源:互联网
导读:在ASP.NET MVC的“编辑”操作中,可以使用HiddenFieldFor向用户隐藏某些字段.但是,这不会保护字段(例如ID,数据创建日期)不被编辑. 例如,模型学生具有字段ID,名称和生日.我想允许用户更新名称,但不是ID或生日. 对于像这样的编辑动作 public ActionResult Edit(S
|
在ASP.NET MVC的“编辑”操作中,可以使用HiddenFieldFor向用户隐藏某些字段.但是,这不会保护字段(例如ID,数据创建日期)不被编辑. 例如,模型学生具有字段ID,名称和生日.我想允许用户更新名称,但不是ID或生日. 对于像这样的编辑动作 public ActionResult Edit(Student student)
{
if (ModelState.IsValid)
{
db.Entry(student).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(student);
}
如何防止编辑Id和Birthday?谢谢! 解决方法您应该使用仅包含要编辑的属性的视图模型:public class EditStudentViewModel
{
public string Name { get; set; }
}
接着: public ActionResult Edit(StudentViewModel student)
{
...
}
我不建议的另一种技术是从绑定中排除某些属性: public ActionResult Edit([Bind(Exclude = "Id,Birthday")]Student student)
{
...
}
或包括: public ActionResult Edit([Bind(Include = "Name")]Student student)
{
...
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在AJAX方法调用中的RegisterClientScriptBlock
- asp.net-mvc – EntityFramework – 连接字符串在哪里?
- asp.net-mvc – ASP.NET MVC网格控件比较
- asp.net-mvc-4 – 如何防止复杂类型的默认绑定器?
- ASP.NET MVC通过ActionLink传递模型
- asp.net-mvc – Asp.Net MVC:为什么我的视图将NULL模型传递
- asp.net – 针对ASP .NET会话状态的’InProc’与’StateSer
- asp.net – Microsoft WebMatrix和Visual Studio有什么区别
- asp.net-mvc – Mvc3 Antiforgery令牌多标签
- asp.net – Html-Agility-Pack没有加载包含完整内容的页面?
推荐文章
站长推荐
- asp.net-mvc – MVC3 Url.Action查询字符串生成
- asp.net – SignalR(Hub)可以发送除信号制作者之
- asp.net – 如果表单字段为空,如何将NULL插入数据
- 如何测试ASP.NET会员密码是否符合配置的复杂性要
- 如何为ASP.NET WebAPI 2中使用路由属性的特定控制
- asp.net-mvc – 任何理由不信任ASP.NET AntiForg
- asp.net-mvc – 具有点的窗体元素的MVC Controll
- asp.net-mvc – 断言操作重定向到正确的操作/路由
- asp.net-mvc – MVC错误 – 传入字典的模型项目的
- 在ASP.NET中的Response.Redirect中传递cookie
热点阅读
