2014-02-07 3 views
0

я получаю Emplid в этом действии (вызывается из действия DDL, который содержит Submit BTN и Опуститесь)Передачи значения другого результата действия

public ActionResult showDDL(int? EmplID = null) 
     { 
      ViewBag.EmplID = EmplID; 
      if (EmplID == null) 
      { 
       IEnumerable<GetAtdRecord_SpResult> EmployeeAtd_2 = DataContext.GetAtdRecord_Sp(0).ToList(); 
       return View(EmployeeAtd_2); 
      } 
      else if (EmplID != null) 
      { 
       IEnumerable<GetAtdRecord_SpResult> EmployeeAtd_2 = DataContext.GetAtdRecord_Sp(EmplID).ToList(); 
       return View(EmployeeAtd_2); 
      } 

      return View(); 
     } 

Вид:

@{ 

    var grid = new WebGrid(ViewData.Model, defaultSort: "EmplID", rowsPerPage: 20); 

    } 

@if (Model.Count > 0) 
{ 
    <div id="AllEmpGrid_ByName"> 
    @grid.GetHtml(columns: grid.Columns(
             grid.Column("EmplID", "Employee ID"), 
             grid.Column("EmplName", "Employee Name"), 
             grid.Column("ShiftID", "Shift ID"), 
             grid.Column("DateVisited", "Date of Visit"), 
             grid.Column("InTime", "In Time"), 
             grid.Column("TimeOut", "Time Out"), 
             grid.Column("OverTime", "Over Time"), 
             grid.Column("TotalWorkingTime", "Total Working Time") 
            )) 
</div> 

using (Html.BeginForm("ToExcel", "Home", FormMethod.Get)) 
{ 
    <button type="submit" class="button_form button_download" >Download in Excel</button> 
} 

} 
else 
{ 
    <h2 class="error" >No Data Found</h2> 
} 

В том же View вы можно видеть, кнопку загрузки EXCEL, я хочу передать этот emplID к методу ToExcel

public ActionResult ToExcel(int? empid) 
     { 
      var DataContext = new EmployeeRecordDataContext(); 

      var grid = new GridView(); 
      grid.DataSource = DataContext.GetAtdRecord_Sp(null).ToList(); 
      grid.DataBind(); 

      Response.ClearContent(); 
      Response.Buffer = true; 
      Response.AddHeader("content-disposition", "attachment; filename=AttendanceSheet.xls"); 
      Response.ContentType = "application/ms-excel"; 

      Response.Charset = ""; 
      StringWriter sw = new StringWriter(); 
      System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); 

      grid.RenderControl(htw); 

      Response.Output.Write(sw.ToString()); 
      Response.Flush(); 
      Response.End(); 
      return RedirectToAction("index"); 
     } 

я не могу понять, что как передать EmplID, полученный в Action 'showDDL', в EmpID, когда я нажму кнопку «Загрузить в Excel»?

ответ

0

Вы можете сделать это, используя ViewBag. Сначала сохраните значение в ViewBag.

public ActionResult showDDL(int? EmplID = null) 
{ 
    ViewBag.Id = EmplId; 
    // You other logic.... 
} 

И затем использовать его в вашей форме, как это -

using (Html.BeginForm("ToExcel", "Home", new { empid = ViewBag.Id }, FormMethod.Get)) 
{ 
    <button type="submit" class="button_form button_download" >Download in Excel</button> 
} 

и один сервер, который вы можете получить значение в параметре -

public ActionResult ToExcel(int? empid) 
{ 
    // You logic and use empid here... 
} 
+0

@PreciseTech, вы в состоянии решить вашу проблему? – ramiramilu

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