2014-07-18 3 views
0

товара Report View:Null Значение Передача из просмотра в контроллер

@model PMEX.CSR.Models.ReportModel 
    @{ 
    ViewBag.Title = "Commodity Report"; 
    } 

    <div> 
    <table> 
     <tr> 
      <td> 
       @{ 
        if (Model != null) 
        { 
        @Html.ActionLink("Download PDF Report", "DownloadReportPDF", Model); 
        } 
       } 
      </td>    
     </tr> 
    </table> 
    </div> 

Report Controller CS Файл:

public ActionResult DownloadReportPDF(ReportModel model) 
    { 
     // to do some stuff 
     return View("Commodity"); 
    } 

модели отчета

public class ReportModel 
    { 
    public string testValue { get; set; } 

    public DataTable dt { get; set; } 
    public LikeFilterModel LikeFilterModelObj { get; set; } 
    // [Required] 
    // public string SearchText { get; set; } 
    public GridModels GridDataModel { get; set; } 
    /// <summary> 
    /// Represents that datagrid has rows in it. 
    /// </summary> 
    public bool isValue { get; set; } 
    } 

Моя модель, когда я получил на представлении

Модель, которую я получаю от контроллера через actionlink.

Как вы можете видеть все, что я принимающую на контроллере равна нулю. Скажите, пожалуйста, что здесь происходит?

Я хочу передать ту же модель контроллеру, которую я получил в режиме просмотра.

+0

Пожалуйста, смотрите мой ответ ниже и комментарий, объясняющий ... – Beakie

ответ

0

Вы не можете передавать данные контроллеру таким образом, любые данные, поступающие из представления, должны быть отправлены или переданы в строке запроса, например.

if (Model != null) 
{ 
    @using (Html.BeginForm("DownloadPDFReport", FormMethod.Post)) 
    { 
     @Html.HiddenFor(x => x.Property1) 
     @Html.HiddenFor(x => x.Property2) 
     ... 
     <input type="submit" value="Download PDF Report" /> 
    } 
} 
+0

Это не * обязательно * должны быть размещены. Он может быть передан как параметры QueryString как GET. –

+0

Передача модели в качестве объекта значения маршрута CAN передает исходные значения обратно контроллеру как часть GET. – Beakie

+0

@ErikPhilips Да, я думаю, я смотрел на модель и понимал, что, вероятно, не было бы способа GET для этого примера. – James

1

Html.ActionLink ожидает иметь routeValues вместо объектной модели. Проверьте ссылку here.

...

+0

Я пробовал это, но все же DataTable имеет значение –

+0

@ShujaatSiddiqui: Что вы пробовали? – Ksv3n

+0

Это объясняет проблему, но не решает ее. –

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