在 ASP.NET MVC 中,可以使用强类型实现修改功能。以下是实现修改功能的步骤:

  1. 创建一个用于编辑实体的视图。可以使用 Razor 视图引擎创建一个具有表单的视图,表单中包含要修改的实体的属性。例如,可以创建一个名为'Edit.cshtml'的视图。

  2. 在控制器中创建一个用于接收修改后的实体数据的动作方法。该方法应该接收一个参数,该参数是要修改的实体的类型。例如,可以创建一个名为'Edit'的动作方法。

[HttpGet]
public ActionResult Edit(int id)
{
    // 根据id获取要修改的实体
    var entity = db.Entities.Find(id);

    // 将实体传递给视图
    return View(entity);
}

[HttpPost]
public ActionResult Edit(Entity entity)
{
    if (ModelState.IsValid)
    {
        // 更新实体
        db.Entry(entity).State = EntityState.Modified;
        db.SaveChanges();

        // 重定向到列表页面或详情页面
        return RedirectToAction("Index");
    }

    // 如果模型验证失败,返回视图并显示错误消息
    return View(entity);
}
  1. 在视图中使用 HtmlHelper 方法生成表单,并将要修改的实体作为参数传递给表单。
@model YourNamespace.Entity

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <div class="form-group">
        @Html.LabelFor(model => model.Property1, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.Property1, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.Property1, "", new { @class = "text-danger" })
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.Property2, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.Property2, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.Property2, "", new { @class = "text-danger" })
        </div>
    </div>

    <!-- 添加其他属性的表单控件 -->

    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="保存" class="btn btn-default" />
        </div>
    </div>
}

通过以上步骤,就可以使用强类型实现修改功能。当用户提交表单时,控制器中的动作方法将接收到修改后的实体数据,并将其保存到数据库中。

ASP.NET MVC 强类型实现修改功能教程

原文地址: https://www.cveoy.top/t/topic/fwau 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录