2013-04-02 4 views
0

У меня есть таблица данных, в которой я пишу флажки рядом с каждой строкой. Однако, когда я отправляю страницу, ничто не передается моему методу. Любая помощь приветствуется! Мой код нижеПолучение значения из флажка в datatable

Модель:

foreach (int analysis in ChemList.Select(d => d.analysisId).Distinct()) 
     { 
      DataRow dr = GridData.NewRow(); 
      GridData.Rows.Add(dr); 
      GridData.Rows[gridrow][0] = "<input type='checkbox' value="+checknum+" checked>"; 
      GridData.Rows[gridrow][1] = ChemList[listrow].analysisId; 
      GridData.Rows[gridrow][2] = ChemList[listrow].analysisTime; 
      GridData.Rows[gridrow][3] = ChemList[listrow].sampleType; 
      GridData.Rows[gridrow][4] = ChemList[listrow].productId; 

Шаблон, который обеспечивает флажок написано:

@using System; 
@model TheManhattanProject.Models.CellValueViewModel 
<td> 
@{if(Model.Value.StartsWith("<input type='checkbox'")) 
{ 

     @Html.Raw(Model.Value); 

} 
else 
{ 

     @Html.DisplayFor(x => x.Value); 

} 
} 
</td> 

Вид:

@using (Html.BeginForm("Average", "Home", "POST")) 
{ 
<input type="submit" value="Average" /> 
<div id="grid"> 
    <table id="example" class ="gridTable"> 
     <thead class="gridHead"> 
      <tr> 
       @Html.DisplayFor(x => x.Columns) 
      </tr> 
     </thead> 
     <tbody> 
      @Html.DisplayFor(x => x.Rows) 
     </tbody> 
    </table> 
    </div> 
} 

контроллер метод (только заполнителем, но значения остаются недействительными):

[HttpPost] 
    public ActionResult Average(params int[] values) 
    { 

     return RedirectToAction("Index"); 
    } 
+1

вы активизировали через код ..? если да, то можете ли вы увидеть какие-то значения, когда ступите через ...? – MethodMan

ответ

0

Ваш контроллер будет принимать все, что вы ожидаете, что это нормально принимать и FormCollection collection и получить флажок на это name атрибут: collection["checkBoxName"]

Смежные вопросы