2012-05-02 92 views
0

這是我的控制器的ActionResult不能傳遞參數從視圖控制器上MVC3

[HttpPost] 
     public ActionResult Add(Reservation modelo, string boton) 
     { 
      ViewBag.idClassroom = modelo.idClassroom; 
      ViewBag.star = modelo.start; 
      ViewBag.idRequester = modelo.idRequester; 
      if (boton.Equals("Reservar")) 
       if (_actions != null) 

_actions.ReserveClassroom(modelo.idClassroom,modelo.start,modelo.idRequester); 
      return RedirectToAction("Index", "Home"); 

,這是我的看法

@model EvaluacionMVC.Domain.Reservation 
@{ 
    ViewBag.Title = "Add"; 
} 
<h2>Add</h2> 
<h3>El salon @Model.idClassroom va a ser reservado a las @Model.idReservation 
horas</h3> 
@using (Html.BeginForm()) 
{ 
    //<div style="display: none">@Model.start</div> 
    <input name="boton" type="submit" value="Reservar" /> 
    <input name="boton" type="submit" value="Cancelar" /> 
} 

但是當我按下按鈕Reservar它不傳遞參數它應該喜歡idClassroom,開始日期和idRequester。

PS。對不起我的英語不是我的母語:s

+0

標記爲答案,當你得到了solutoin .... –

回答

0

你必須在表格中插入你需要的值。 MVC框架的工作原理是Html應該(沒有像Viewstate這樣的快捷方式),所以基本上如果這些值不在帖子中,它們就不存在。 您可以使用HiddenFor

@using (Html.BeginForm()) 
{ 
@Html.HiddenFor(model => model.idClassroom) 
@Html.HiddenFor(model => model.start) 
@Html.HiddenFor(model => model.idRequester) 
//<div style="display: none">@Model.start</div> 
<input name="boton" type="submit" value="Reservar" /> 
<input name="boton" type="submit" value="Cancelar" /> 
} 
+0

的modelo.start傳遞日期= 1/1/0001,時間] 12:00:00 AM但應該通過當前日期,但從上午7點到下午1點一個小時,該參數在url = http:../ Reservations/Add?classroom = 1306&hour = 21您能幫助我嗎? –

+0

我想你必須在將它傳遞給模型之前初始化它的正確值,並相應地定義一個正確的url(如果你只需要小時) – Iridio

+0

非常感謝你,你幫了我很多 –

相關問題