所以我正在使用MVC 4,我有一个问题。我有两个课程,安排和模拟(它模拟学生进入教室)。我有一个视图,它给出了链接旁边存在的所有日程表来模拟入口(它是另一个视图,另一个类)。我想将该人选择的时间表中的id传递给Simulation类中的属性。
课堂模拟:
namespace GestorSalas.Models
{
public class Simulation
{
public virtual int SimulationId { get; set; }
public virtual int ScheduleId { get; set; }
public virtual string Utilizador { get; set; }
[DisplayName("Tipo de Utilizador")]
public virtual string TipoUtilizador { get; set; }
public virtual int Codigo { get; set; }
public virtual string Hora { get; set; }
public virtual bool Entrar { get; set; }
}
班级时间表:
namespace GestorSalas.Models
{
public class Schedule
{
public virtual int ScheduleId { get; set; }
public virtual int DisciplinaId { get; set; }
public virtual int SalaId { get; set; }
[Required]
public virtual int Dia { get; set; }
[Required]
[DisplayName("Hora de Entrada")]
public virtual string HoraEntrada { get; set; }
[Required]
[DisplayName("Hora de Saida")]
public virtual string HoraSaida { get; set; }
public virtual Disciplina Disciplina { get; set; }
public virtual Sala Sala { get; set; }
}
(Entrar na sala =链接到模拟创建视图,在此图像中是日程索引视图)。 我想从计划中传递id以便出现在模拟表单中(或者在创建之后出现在表格中,就像我们点击详细信息或编辑时那样,它需要用户ID,但我想要计划ID)。 这是“Entrar em sala”链接中的代码:
@Html.ActionLink("Entrar em sala", "Create", "Simulation", new {id = item.HorarioId }, null)
但它不起作用。关于我该怎么做的任何想法?
编辑:控制器:
模拟: 创造 // // GET:/ Simulacao / Create
public ActionResult Create()
{
return View();
}
//
// POST: /Simulacao/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Simulation simulation)
{
if (ModelState.IsValid)
{
db.Simulacaos.Add(simulation);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(simulation);
}
时间表就是这里使用的索引:
public ActionResult Index()
{
var schedules= db.Schedules.Include(h => h.Disciplina).Include(h => h.Sala);
return View(schedules.ToList());
}
答案 0 :(得分:1)
您的create方法应接受id
作为参数并根据需要使用它。
public ActionResult Create(int id)
{
// Id has the scheduleId
// to do : Do something with the Id passed in and return something
}
在索引视图中,您需要将scheduleId
作为路由参数Id
@model List<Schedule>
<h2>Simulator</h2>
<table>
<tr><th>HoraEntrada </th><th>Dia </th><th></th></tr>
@foreach(var item in Model)
{
<tr>
<td>@item.HoraSaida</td>
<td>@item.Dia</td>
<td>@Html.ActionLink("Entrar em sala", "Create", "Simulation",
new {@id = item.ScheduleId}, null)
</td>
</tr>
}
</table>