加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在Mvc 5中路由POST和GET

发布时间:2020-12-16 09:55:57 所属栏目:asp.Net 来源:网络整理
导读:我刚开始在我的Web应用程序中进行路由,虽然我已经阅读了许多关于路由是什么以及如何编写RouteConfig.cs或在我的控制器中使用属性路由的教程,但很少有教程真正展示如何处理整个应用程序. 像大多数Asp.NET Mvc应用程序一样,当您构建控制器时,您将获得创建,编辑
我刚开始在我的Web应用程序中进行路由,虽然我已经阅读了许多关于路由是什么以及如何编写RouteConfig.cs或在我的控制器中使用属性路由的教程,但很少有教程真正展示如何处理整个应用程序.

像大多数Asp.NET Mvc应用程序一样,当您构建控制器时,您将获得创建,编辑,删除方法,并且您总是有一个要GET,一个要POST.

但是你如何处理这些方法的路由?

说这些是我的编辑方法,我对post方法进行了哪些路由?当我点击“保存”按钮时,我是否需要“修复”其他任何内容才能使该路由工作?

// GET: VehicleModels/Edit/5
    [Route("Aanbod/Edit/{id:int}")]
    public ActionResult Edit(int? id)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        VehicleModels vehicleModels = db.VehicleModels
            .Include(v => v.Options)
            .Include(v => v.Fotos)
            .SingleOrDefault(v => v.Id == id);

        if (vehicleModels == null)
        {
            return HttpNotFound();
        }
        return View(vehicleModels);
    }

    // POST: VehicleModels/Edit/5        
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Edit(int? id,IEnumerable<HttpPostedFileBase> uploads)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        var VehicleToUpdate = db.VehicleModels.Find(id);
        if (TryUpdateModel(VehicleToUpdate))

        // my code here

        return View(VehicleToUpdate);

    }

解决方法

如果您正在使用属性路由,则GET和POST操作都将具有相同的路由属性.唯一可能不同的是,如果您为路由命名,在这种情况下,名称应该只在GET版本上.您不能将相同的名称应用于两个不同的路由,即使它们实际上是相同的路由.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读