2016-07-05 17 views
-2

Ich habe eine Seite, wo eine HTML-Tabelle haben und ich benutze Java Script und AJAX zum Aufrufen einer Controller-Aktion - "Task" mit Übergabe eines Modells beim Klicken auf eine Zeile dieser HTML-Tabelle. Ich erhalte diese Modellwerte in meiner Aufgabenaktion.kann die Ansicht im Webbrowser nicht angezeigt werden?

In Aufgabe Aktion ich es umleiten zu einer anderen Controller-Aktion. Die andere Controller-Aktion ist BOMItemCost und meine Sicht ist BOMItemCost.cshtml.

Ich habe es debugged mein Debugger wird zur Ansicht, aber schließlich bekomme ich nicht meine Sicht auf meinen Webbrowser.

Html-Tabelle und Javascript-Code:

<table class="TableID2" id="tblTask"> 
    <thead> 
     <tr> 
      <th>Task Id</th> 
      <th>Task</th> 
      <th>Raised</th> 
      <th>Department</th> 
      <th>Raised On</th> 
      <th>Status</th> 
     </tr> 
    </thead> 
     <tbody><tr> 
      <td>1</td> 
      <td>1</td> 
      <td>Rahul</td> 
      <td>Marketing</td> 
      <td>28/06/2016 00:00:00</td> 
      <td>False</td> 
     </tr> 
     <tr> 
      <td>3</td> 
      <td>1</td> 
      <td>jitender</td> 
      <td>Marketing</td> 
      <td>30/06/2016 00:00:00</td> 
      <td>False</td> 
     </tr> 
     <tr> 
      <td>5</td> 
      <td>1</td> 
      <td>Jitender Singh</td> 
      <td>Marketing</td> 
      <td>07/02/2016 16:23:10</td> 
      <td>False</td> 
     </tr> 
     <tr> 
      <td>6</td> 
      <td>1</td> 
      <td>Jitender Singh</td> 
      <td>Marketing</td> 
      <td>07/04/2016 02:56:00</td> 
      <td>False</td> 
     </tr> 

    </tbody> 
</table> 

<script type="text/javascript"> 
    taskdetail = []; 
    $("#tblTask tr").click(function (tr) { 
     debugger; 
     var tableData = $(this).children("td").map(function() { 
        return $(this).text(); 
       }).get(); 
     taskdetail.push({ 
      taskid: tableData[0], 
      tasktype: tableData[1], 
      assignby: tableData[2], 
      department: tableData[3], 
      assignon: tableData[4], 
      status: tableData[5], 

     }); 
     debugger; 

     var model = { 
      taskdetail: taskdetail 
     }; 
     $.ajax({ 
      url:'@Url.Action("Task", "Job")', 
      type: "POST", 
      contentType: 'application/json; charset=utf-8', 
      data: JSON.stringify({ data: model }), 
      dataType:'json', 
      success: function (data) { 
       alert('Document Saved.'); 
      } 
     }); 
    }); 

"Task" -Aktion in Jobcontroller ist

[HttpPost] 
    public ActionResult Task(JobModel data) 
    { 
     List<TaskDTO> listoftaskdetail = new List<TaskDTO>(); 
     listoftaskdetail = data.taskdetail.ToList(); 


     return RedirectToAction("BOMItemCost", "Tasks", listoftaskdetail); 
    } 

Und "BOMItemCost" -Aktion in TasksController ist

[HttpGet] 
    public ActionResult BOMItemCost(List<TaskDTO> listoftaskdetail) 
    { 
     return this.View(); 
    } 

und BOMItemCost.cshtml ist

<div id="container"> 
<div class="wrapper white-bg"> 
     <div class="col s12 m12 l12"> 
      <div class="border-light pad-md"> 
       <div class="heading24">BOM for Bidding</div> 
       <form> 
        <input type="hidden" name="hiddenField" /> 
        <div class="table_h1"> 

         <table id="TableID1"> 
          <thead> 
           <tr> 
            <th>Sr. No.</th> 
            <th>Item Code</th> 
            <th>Description</th> 
            <th>Qty Per Unit</th> 
            <th width="10%">Price</th> 
            <th>Total</th> 

           </tr> 
          </thead> 
          <tr> 
           <td>1</td> 
           <td>11234</td> 
           <td>Cap Capacitor</td> 
           <td>50</td> 
           <td class="editbox">400</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>1</td> 
           <td>11234</td> 
           <td>Cap Capacitor</td> 
           <td>50</td> 
           <td class="editbox">400</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>1</td> 
           <td>11234</td> 
           <td>Cap Capacitor</td> 
           <td>50</td> 
           <td class="editbox">400</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
          <tr> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
           <td>&nbsp;</td> 
          </tr> 
         </table> 
        @Html.TextArea("anshul") 
        </div> 
        <div class="clearfix"></div> 
        <div class="mar-sm-t pull-right"> 
         <button class="btn waves-effect waves-light" type="submit" name="action">CANCEL</button> 
         <button class="btn waves-effect waves-light" type="submit" name="action">SEND TO MARKETING</button> 
        </div> 
       </form> 
       <div class="clearfix"></div> 
      </div> 
     </div> 
    </div> 
</div> 

Ich habe es debugged. Mein Compiler hat meine Ansicht durchlaufen, aber ich kann meine Ansicht in meinem Webbrowser nicht sehen.

+0

Sie können in Ihrem C# Funktion – madalinivascu

+0

sein eine Aktion von Mvc Controller nicht aC# Funktion nicht umleiten. – anshul

+0

Was meinst du mit Aktion? – madalinivascu

Antwort

0

Da Sie Ihre Aktion von Jquery anrufen, so dass das Ergebnis immer nur zurück in die Jquery-Methode erhalten wird .. Also eigentlich die „data“ ist Ihr „BOMItemCost.cshtml“, sobald Sie erhalten Daten, können Sie diese irgendwo auf der Seite anhängen, wo Sie die neue Ansicht angezeigt werden soll ..

$.ajax({ 
     url:'@Url.Action("Task", "Job")', 
     type: "POST", 
     contentType: 'application/json; charset=utf-8', 
     data: JSON.stringify({ data: model }), 
     dataType:'json', 
     success: function (data) { 
     //BOMItemCost.cshtml is coming in data 
     //So bind data inside some div 
      $('#divResult').append(data); 
      alert('Document Saved.'); 
     } 
    }); 
+0

aber ich möchte es als eine Seite im Webbrowser öffnen.ist es möglich, es als eine Webseite zu öffnen? – anshul

+1

der Schrott der Ajax, wenn Sie Seite redirect lol – madalinivascu

+0

dann laden Sie die ganze Seite oder verwenden Sie location.reload Methode innerhalb Erfolgsfunktion, sobald Sie die Daten erhalten. – bhupesh

Verwandte Themen