我想通过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 :(得分:0)
您可以使用包含所需类的新类,并将其发送到您的视图。在MVC中,这被称为View Model
,是一种将数据发送到视图的非常合适的方式。
如果那是你的控制器,你应该返回一个字符串,当你应该返回某种View(对象)时。
答案 1 :(得分:0)
你也可以提交像这样的对象
在视图中:
@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;
}