我有一个小问题。
我的行动是:
public ViewResult SearchForRooms(int HotelDDL)
{
List<Room> roomsInHotel = bl.ReturnRoomsPerHotel(HotelDDL);
return View(roomsInHotel);
}
这是调用该操作的 jquery:
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$("#HotelDDL").change(function () {
var text = $("#HotelDDL option:selected").text();
var value = $("#HotelDDL option:selected").val();
alert("Selected text=" + text + " Selected value= " + value);
$.post("/Home/SearchForRooms",
{
HotelDDL: $("#HotelDDL option:selected").val()
});
});
});
</script>
最后,这是应该调用的视图:
@model IEnumerable<RoomReservation.Entities.Entities.Room>
@{
ViewBag.Title = "Search";
}
<h2>Result</h2>
<table>
<tr>
<th>
City
</th>
<th>
Hotel
</th>
<th>
Room label
</th>
<th>
Number of beds
</th>
<th>
Price per night
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelitem=>item.Hotel.City.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Hotel.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.NumberOfBeds)
</td>
<td>
@Html.DisplayFor(modelItem => item.PricePerNight)
</td>
</tr>
}
</table>
除最终视图渲染外,一切正常(数据库正确返回所有房间)。我试过菲尔的工具,但它没有给我任何可疑的提示:
RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
那么,为什么在 jscript 发送它的 post 方法后它没有显示SearchForRooms()
呢?谢谢
PS如果您需要任何其他代码,请直接说出来。