asp.net-mvc – 帖子上的Mvc模型ID 0
发布时间:2020-09-16 10:34:14 所属栏目:asp.Net 来源:互联网
导读:我有一个模型的编辑页面.当我将模型发布回我的控制器时,Id属性为0.如何在帖子上维护Id属性? 我正在发布要查看的模型,因此在get请求中设置了Id属性.我的代码如下. 视图: @model xandra.Models.ProjectModel@using(Html.BeginForm()){ @Html.HiddenFor(m = m.
|
我有一个模型的编辑页面.当我将模型发布回我的控制器时,Id属性为0.如何在帖子上维护Id属性? 我正在发布要查看的模型,因此在get请求中设置了Id属性.我的代码如下. 视图: @model xandra.Models.ProjectModel
@using(Html.BeginForm())
{
@Html.HiddenFor(m => m.Id)
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name)
<br />
@Html.LabelFor(m => m.Description)
@Html.TextAreaFor(m => m.Description)
<br />
@Html.LabelFor(m => m.Website)
@Html.TextBoxFor(m => m.Website)
<br />
@Html.LabelFor(m => m.Active)
@Html.CheckBoxFor(m => m.Active)
<input type="submit" value="Save" />
}
控制器: [Authorize]
[HttpGet]
[InitializeSimpleMembership]
public ActionResult EditProject(string id)
{
using (var entity = new dixraContext())
{
var project = entity.Projects.FirstOrDefault(m => m.UrlName == id);
return View(project);
}
}
[Authorize]
[HttpPost]
[InitializeSimpleMembership]
public ActionResult EditProject(ProjectModel model)
{
using (var entity = new dixraContext())
{
var project = entity.Projects.FirstOrDefault(m => m.Id == model.Id);
project.Name = model.Name;
project.Description = model.Description;
project.Website = model.Website;
project.Tags = model.Tags;
project.Active = model.Active;
entity.SaveChanges();
return RedirectToAction("GetProject",project.UrlName);
}
}
而我的模特 public class ProjectModel
{
[Key]
[Required]
public long Id { get; set; }
[Required(AllowEmptyStrings=false)]
public string Name { get; set; }
[Required(AllowEmptyStrings=false)]
public string Description { get; set; }
[Required]
public DateTime CreatedDate { get; set; }
[Required]
public int Creator { get; set; }
public string Website { get; set; }
[Required]
public int CategoryId { get; set; }
public virtual List<TagModel> Tags { get; set; }
public string UrlName { get; set; }
public bool Active { get; set; }
}
解决方法我之前见过这种情况,可能是个错误.我已经能够通过不使用特定的视图模板语法添加我需要包含在帖子中的属性来解决它.而不是这个: @Html.HiddenFor(m => m.Id) 用这个: <input type="hidden" value="@Model.Id" name="Id"/> (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net文件上传功能(单文件,多文件,自定义生成缩略图,水印
- asp.net核心 – 如何排除在ASP.NET Core中发布文件?
- 在使用ASP.NET会话时是否可以强制请求并发?
- Asp.net 实现Session分布式储存(Redis,Mongodb,Mysql等) se
- 如何在asp.net用户控件中使用jQuery ajax?
- 如何在服务器端缓存ASP.NET自定义HttpHandler响应
- asp.net – 如何在gridview中将navigateurl添加到超链接
- asp.net-mvc – 何时使用asp.net mvc的路由规则vs查询字符串
- kendo-ui – 剑道网格刷新(数据绑定两次)
- asp.net – 脚本标签和链接标签进入asp:内容或外部
推荐文章
站长推荐
- asp.net-mvc – 使用AWS .NET SDK进行SNS订阅确认
- 增加ASP.NET站点的executionTimeout和maxRequest
- asp.net-core – 在执行DI时指定服务选项的干净方
- asp.net-mvc – 我需要有关HandleError的更多信息
- asp.net – @ Url.Action在控制器中创建空值的参
- asp.net repeater手写分页实例代码
- c#中分布方法和分部类
- 从app_data中删除文件夹时如何防止asp.net重新编
- asp.net-mvc – ASP.NET MVC – RequireJS最佳的
- asp.net-mvc – 为什么我的ActionFilters都没有运
热点阅读
