2017-07-30 74 views
0

我在這樣一個奇怪的場景中工作,我要做到的是以下幾點: 在我的WebGrid列有一個按鈕,當它被我壓將部分視圖顯示爲引導模式。問題是我需要在顯示Partial View之前從webgrid選擇的行中獲取@ item.id,以便將該數據作爲參數傳遞,我將進一步使用該參數在部分視圖(模式)中顯示更多數據。如何從.NET MVC的WebGrid傳遞項數據管窺

(查看)

<script> 
    $(document).ready(function() { 
     $('#showModal').click(function() { 
      var url = $('#caModal').data('url'); 

      $.get(url, function (data) { 
       $('#caContainer').html(data); 

       $('#caModal').modal('show'); 
      }); 
     }); 
    }); 
</script> 

<div id='caModal' class='modal fade' role="dialog" data-url='@Url.Action("AsignarCotizaciones")'> 
      <div id='caContainer'> 
      </div> 
     </div> 

@grid.Table(
        tableStyle: "table table-responsive table-bordered", 
        headerStyle: "webgrid-header", 
        footerStyle: "webgrid-footer", 
        alternatingRowStyle: "webgrid-alternating-row", 
        rowStyle: "webgrid-row-style", 
        columns: grid.Columns(
         grid.Column(header: "VENDEDOR", format: @<img src="data:image/jpeg;base64,@SIC.Controllers.CotizacionController.ConvertByteArrayToBase64(@item.id_Emp)" alt="" height="80" width="70" class="img-circle">), 
         grid.Column(columnName: "nombre_Emp", header: "NOMBRE"), 
         grid.Column(columnName: "apaterno_Emp", header: "APELLIDO"), 
         grid.Column(columnName: "nombre_Art", header: "ARTICULO"), 
         grid.Column(columnName: "nombrecli_CotIns", header: "CLIENTE"), 
         grid.Column(columnName: "fecha_CotIns", header: "FECHA"), 
         grid.Column(header: "⇨", format: @<text><button id="showModal" class="btn btn-info">Asignar</button></text>) 

(控制器)

[HttpGet] 
    public ActionResult AsignarCotizaciones() 
    { 
     return PartialView(); 
    } 

我想是因爲我可以爲顯式,有什麼我可以做什麼?

+0

首先,你必須無效的html(重複的'id'屬性) - 改爲使用類名稱。您可以將該值添加爲'data-'屬性並將其提取到腳本中 –

回答

0

首先,你需要添加data-id到您的按鈕,並添加CSS類例如name

grid.Column(header: "⇨", format: 
        @<text><button class="name btn btn-info" 
        data-id="@item.id_Emp">Asignar</button> 
       </text>) 

然後更新控制器

public ActionResult AsignarCotizaciones(string id) 
    { 
     // YOUR LOGIC FOR EXAMPLE 
     var model = _repository.FindAll(u => u.Id == id) 
     return PartialView(model); 
    } 

最後更新JS

  $(document).on("click", ".name", function() { 
       var id_emp = $(this).data('id'); 
       var url = $('#caModal').data('url'); 
       $.get(url, { id: d_emp }, function (data) { 
        $('#caContainer').html(data); 
        $('#caModal').modal('show'); 
       }); 
      }); 
+0

似乎正在工作,但是如何在部分視圖內捕獲該參數(模型)? – Carlos07

+0

我做了一個模型列表從控制器和視圖我聲明模型列表,所以現在我可以使用該模型數據。謝謝!! – Carlos07