2014-02-26 17 views
0

我想通過Razor形式傳遞兩個對象。怎麼做? 這是我實現如何在Razor表單中傳遞多個對象?

//控制器

public string MatchHotel(HotelPairToMatch HotelPair) 
{ 
    return "Hotel matched successfully "; 
} 

//型號

public class HotelPairToMatch 
{ 
    public MapHotel NewHotel { get; set; } 
    public MapHotel MatchedHotel { get; set; } 
} 

//模板

@foreach (Clarifi.UI.Models.MapHotel hotel in Model.MatchedHotelsList) 
{ 
    <tr> 
     <td align="left" valign="middle" class="font13"> 
     @using (Html.BeginForm("MatchHotel", "MapNewHotel", new {NewHotel=Model.NewHotel,MatchedHotel=hotel }, FormMethod.Post, new { @class = "pull-left mrs" })) 
     {         
      <input type="submit" value="Match" class="submitLink"/> 
     } 
     </td> 
    </tr> 
} 

回答

0

那麼你可以使用一個新的類,它包含你想要的課程,並將其發送給你的觀點。在MVC中,這被稱爲View Model,並且是一種非常合適的將數據發送到視圖的方式。

如果這是你的控制器,你應該返回一個字符串,當你應該返回某種視圖(對象)。

0

可以提交對象這樣也

在View:

@using (Html.BeginForm("MatchHotel", "MapNewHotel", FormMethod.Post, new { @class = "pull-left mrs" })) 
    { 
     @Html.Hidden("NewHotel ",Model.NewHotel) 
     @Html.Hidden("MatchedHotel ","hotel")     
     <input type="submit" value="Match" class="submitLink"/> 
    } 

控制器:

public ActionResultMatchHotel(HotelPairToMatch HotelPair) 
{ 
    string newHotel = HotelPair.NewHotel; 
    string Hotel = HotelPair.MatchedHotel; 
} 
相關問題