2017-04-19 4 views
0

net-mvc.i의 새로운 기능입니다. 데이터베이스에서 꺼내어 페이지에 나열된 방의 시작과 목록에 checkInDate가있는 페이지가 있습니다. foreach 루프를 사용합니다. 각 목록에는 방의 ID와 checkinDate를 전달해야하는 버튼이 있습니다. 버튼의 앵커 태그를 통해 선택한 방의 ID와 함께 checkInDate 입력을 전달하려고합니다. 어떻게하면 그렇게 할 수 있을까요? here is the view of the pagehtml.actionlink를 통해 여러 매개 변수 전달 asp.net-mvc

@model thePortfolio.Models.CustomerNRoomViewModel 

@{ 
    ViewBag.Title = "Index Booking"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<div class="box"> 

    <h4>Room</h4> 
    @using (Html.BeginForm()) 
    { 
     <div class="box"> 
      @Html.LabelFor(model => model.Book.CheckInDate, htmlAttributes: new { @class = "control-label col-md-2" }) 
      <div class="col-md-10"> 
      @Html.EditorFor(model => model.Book.CheckInDate, new { htmlAttributes = new { @class = "form-control" } }) 
      </div> 
     </div> 
     <br /> 

     foreach (var item in Model.RoomList) 
     { 
      var image = @item.RoomType.ToString() + ".jpg"; 
      image = image.Replace(" ", String.Empty); 

      <div class="row box"> 
       <div class="col-sm-4"> 
        <img class="img-responsive" src="~/img/rooms/@image"> 
       </div> 

       <div class="col-sm-6 text-left"> 

        @Html.DisplayFor(m => item.RoomId)<br /> 
        @Html.DisplayFor(m => item.RoomType)<br /> 
        @Html.DisplayFor(m => item.Description) 

       </div> 

       <div class="col-sm-2"> 
        <h4>Rates from</h4> 
        <i>per night</i> 
        <h2 style="color:red">[email protected]</h2> 

        @if (item.BookingStatus) 
        { 
         <button type="button" disabled>Not Available</button> 
        } 
        else 
        { 
         <button>@Html.ActionLink("Book This", "bookRoom", new { id = item.RoomId })</button> 


        } 
       </div> 
      </div> 
       <p></p> 


     } 

    } 
</div> 
+0

'CheckInDate'는 뷰에서 편집 할 수 있으므로 자바 스크립트를 사용하여 입력의 실제 값을 기반으로 'href' 속성을 업데이트해야합니다. –

답변

0

음 ... 나는 컨트롤러에, 당신이 id 매개 변수와 메소드를 추가 할 필요가 있다고 생각합니다. 다음과 같은 것 :

[HttpPost] 
public ActionResult Edit(int id, CustomerNRoomViewModel model) 

id 매개 변수는 http 호출의 쿼리 문자열에 값으로 보내야합니다.

+0

OP가 링크의 값을 전달하는 방법을 묻습니다 (예 : POST 방법이 아닌 GET 메소드). –

+0

@Stephen Muecke 죄송합니다. 어쩌면 영어가 실패하고 있습니다. (원어민이 아닙니다.)하지만 그건 아닙니다. 나는 이해했다. 당신이 맞다면 CheckInDate를 검색하기 위해 브라우저 측 JavaScript를 사용하라는 귀하의 제안이 맞습니다. 그는 또한 Html.BeginForm 헬퍼를 제거해야합니다 (더 이상 html 폼이 필요 없습니다) –

관련 문제