2017-12-27 29 views
0

actionlink를 사용하여 뷰에서 다른 값으로 3 개의 값을 보내려고합니다. 나는 테이블을 가지고있다. 각 행에는 ID, 이름 및 입찰 금액이 텍스트 상자 인 3 개의 열이 있습니다. 문제는 첫 번째 행의 텍스트 상자의 값만 전달하는 작업 링크입니다. 두 번째 행의 actionlink를 누르면 두 번째 행의 이름과 ID가 전달되지만 textbox에있는 입찰 금액은 같다고 가정합니다. 첫 번째 행이 전달됩니다.테이블 행의 텍스트 상자 값을 MVC5의 뷰에서 컨트롤러로 제대로 전달할 수 없음

내보기 코드 :

@model List<UdemyMVC.Models.Movies> 
@{ 
    ViewBag.Title = "Index"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<h2>Index</h2> 

<table class="table table-striped table-bordered table-hover"> 
    <thead> 
     <tr class="danger"> 
      <th> 
       Id 
      </th> 
      <th> 
       Name 
      </th> 
      <th> 
       Bid Money 
      </th> 
     </tr> 
    </thead> 
    <tbody> 
     @foreach (var movie in Model) 
     { 
      <tr> 
       <td> 
        @movie.Id 
       </td> 
       <td> 
        @movie.MovieName 
       </td> 
       <td> 
        <input type="text" id="bidMoney" name="bidMoney"/> 
       </td> 
       <td> 
        @Html.ActionLink("Details", "Details", "Test", new { Id =movie.Id, MovieName = movie.MovieName }, new { onclick = "this.href += '&biddingMoney=' + document.getElementById('bidMoney').value;", @class = "btn btn-primary" }) 
       </td> 
      </tr> 
     } 
    </tbody> 
</table> 
+0

td의 고유 ID를 추가하지 않으므로 모든 td의 이름과 ID가 onclcik와 비슷하게됩니다. 찰스가 이미 해결책을 제공 한 이름과 함께 ID를 전달해야 할 필요가 있습니다. –

답변

1

난 당신이 bidMony의 ID로 인덱스를 추가하고 당신이 원하는 일을 기준으로이 인덱스를 사용한다고 생각합니다. 내 면도기 지금

완전히 녹슨하지만이 테스트 드릴 수 없습니다 인덱스

@{ int i = 0} 
    @foreach (var movie in Model) 
    { 

     <tr> 
      <td> 
       @movie.Id 
      </td> 

      <td> 
       @movie.MovieName 

      </td> 
      <td> 
       <input type="text" id="[email protected](i)" name="bidMoney" /> 

      </td> 
      <td> 

      @Html.ActionLink("Details", "Details", "Test", new { Id =movie.Id, MovieName = movie.MovieName }, new { onclick = string.Format("alert(document.getElementById('bidMoney{0}').value);",i), @class = "btn btn-primary" }) 



      </td> 

     </tr> 
     i++; 
    } 

를 선언하지만, 나는 이것이 당신이해야 할 일이라고 생각합니다. 문제는 당신이 getMlementbyid의 bidMoney 요소를 많이 볼 수 있지만 하나만 반환 할 수 있으므로 첫 번째 요소를 제공한다는 것입니다.