在视图@ Html.HiddenFor(m => m.Id)中修改模型的隐藏值RSS

时间:2018-09-01 19:48:25

标签: asp.net-mvc

我有一个模型Product (Id, Name, description,..)

视图调用(Edit.cshtml):

@model Product
@using (Html.BeginForm.................
@Html.HiddenFor(m => m.Id)
<div class="form-group divdatepicker">
    <label>Name</label>
    @Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
</div>
<div class="form-group">
    <label>Description</label>
    @Html.TextBoxFor(m => m.description, new { @class = "form-control" })
</div>

=> HTML VIEW

@Html.HiddenFor(m => m.Id)

在控制器中将Id = 100设置为“视图”(值= 100)。

<input data-val="true" data-val-number="The field Id must be a number." data-val-required="The Id field is required." id="Id" name="Id" value="100" type="hidden">

在Controller ProductController中:

set Id = 100;
[HttpPost]
public ActionResult ResultContact()
{
  var model = dbc.Products.Find(100);
  return View(model);
}
public ActionResult Edit(UseDetail model)
{
  .....
  dbc.Entry(model).State = System.Data.Entity.EntityState.Modified;
  dbc.SaveChanges();
}

但是,当我查看代码时,HTML在以下位置更改了ID:

<input data-val="true" ....id="Id" name="Id" value="100" type="hidden"> 100 to product id = 300

dbc.SaveChanges()将数据内容名称,描述,产品ID 300更改为100。

我的网站不安全。

在编辑HTML代码时不允许更改ID。

0 个答案:

没有答案