如何将参数从视图传递到控制器?
Posted
技术标签:
【中文标题】如何将参数从视图传递到控制器?【英文标题】:How do I pass parameters from view to controlller? 【发布时间】:2019-04-26 18:23:57 【问题描述】:我正在尝试编写一个小网站来预订会议室。 我已完成添加房间,没有任何问题。 但现在,我想编辑它们(比如重命名等)
房间控制器 在我的控制器中,我有接收 Room 对象(id、姓名、人数)的操作 EditerUneRoom。 但它总是为空
using RoomBooking.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace RoomBooking.Controllers
public class RoomController : Controller
// GET: Room
public ActionResult Manage()
List<Room> listRoom = new List<Room>();
using (var context = new RoomBookingEntities())
listRoom = context.Room.ToList();
return View(listRoom);
public ActionResult AjouterUneRoom()
return View();
public ActionResult ErrorMsg(string msg)
ErrorMsg messageErreur = new ErrorMsg();
messageErreur.text = msg;
ViewBag.Message = messageErreur;
return View();
public ActionResult EditerUneRoom(Room editRoom)
var iden = editRoom.id;
return View();
public ActionResult AddRoom(string nom, int nbperson)
Room newRoom = new Room();
newRoom.nom = nom;
newRoom.nbPlace = nbperson;
using (var context = new RoomBookingEntities())
var roomEntity = context.Room.FirstOrDefault(r => r.nom == nom);
if(roomEntity == null)
context.Room.Add(newRoom);
context.SaveChanges();
else
return RedirectToAction("ErrorMsg", "Room",new msg = "Cette salle existe déjà !" );
return RedirectToAction("Manage", "Room");
在视图中,我有一个 Room 对象列表,其中包含一个 Actionlink,它应该可以让我进入房间的编辑页面 查看
@model List<Room>
@
ViewBag.Title = "Manage";
<h2>Manage</h2>
@html.ActionLink("Ajouter une salle de réunion", "AjouterUneRoom", "Room")
@foreach (var room in Model)
<div>
<b>Identifiant : </b>
@room.id
</div>
<div>
<b>Nom : </b>
@room.nom
</div>
<div>
<b>Nombre de place :</b>
@room.nbPlace
</div>
@Html.ActionLink("Modifier", "EditerUneRoom", "Room", new wroom = room );
<br />
我正在开发“EditerUneRoom”。我正在调试模式中尝试获取参数“Room editRoom”... 但它始终为空。
有什么想法吗?
【问题讨论】:
【参考方案1】:在控制器中,动作EditerUneRoom
正在等待editRoom
参数。但看起来你正在传递wroom
。尝试更改 ActionLink 参数名称:
new editRoom = room
【讨论】:
以上是关于如何将参数从视图传递到控制器?的主要内容,如果未能解决你的问题,请参考以下文章