2017-02-16 26 views
0

это мой контроллер:MVC - генерации отчета - выбор ВСЕ DataTable элементов в наборе данных, используя выпадающий выбрать

public ActionResult GenerateReport(string Employeename, int year) 
{ 
    EmployeeLeave ds = new EmployeeLeave(); 
    EmployeeLeaveTableAdapter da = new EmployeeLeaveTableAdapter(); 
    da.Fill(ds._EmployeeLeave, Employeename, year); 
    .... 
} 

это фрагмент кода в моей index.cshtml:

<form action="/Report/GenerateReport/" method="post"> 
    <select id="Employeename" name="Employeename" class="form-control form- control-lg"> 
        <option value="" disabled selected>Select Name</option> 
        <option value="ALL">ALL</option> 
        @foreach (var item in ViewBag.userlist) 
        { 
         <option value="@item.username">@item.lastname</option> 
        } 
       </select> 

       <select id="year" name="year" class="form-control form-control-lg"> 
        <option value="2016">2016</option> 
        <option value="2017">2017</option> 
       </select> 
       <button type="submit" value="Generate Report" class="btn btn-primary">Generate Report</button> 
      </form> 

и это sql statement фрагмент в моем наборе таблицы данных:

WHERE  (tblfile_leave.EMP_NAME = @username AND tblfile_leave.YEAR = @year) 

он получает любое значение, которое находится в опции выбора. однако, когда я выбираю «ВСЕ» в раскрывающемся списке, я вообще не получаю никаких результатов. как я могу отобразить весь результат в инструкции select в связи с выпадающим вариантом «ВСЕ»

ответ

0

Если вы передаете целочисленный тип своей функции контроллера, она будет генерировать ошибку javascript при выборе опции «Выбрать все», поскольку она имеет значение = Все, что является строкой, не целой. Вы можете увидеть это, используя некоторые инструменты браузера в окне консоли.

Одно из решений для визуализации дополнительного тега для выбора Все как:

<option value="-1">Select All</option> 

Это будет проходить -1 к вашей функции контроллера. Где вы можете проверить:

if (value.Equals(-1)) 
{ 
    //Your logic to select all records from database 
} 

Надеюсь, это поможет.