2015-11-11 40 views
0

我想根據所選按鈕在aspx網頁上顯示三個不同的局部視圖。那部分工作正常。但是,然後每個部分視圖將從xml文件中讀取單獨的部分,併爲數據提供視圖。我試圖將數據作爲Arraylist傳遞給視圖,但部分視圖現在不顯示。在不傳遞數據的情況下,部分視圖正在運行。 請注意我正在使用aspx而不是剃鬚刀。關於如何進行這項工作的任何想法,以便在單擊任何3個按鈕時,不同的局部視圖也會與xml數據一起顯示。提前致謝。ASP.NET MVC - 如何使用ArrayList數據顯示部分視圖

RenderVOIP.aspx

$(function() { 
     $('#InfoButton').on("click", function() {   
      $.get('<%= Url.Action("InfoAction", "HardwareRequisition")%>', function (data) { 
       $("#myContentView").html(data); 
      }); 
      $('#NotesButton').on("click", function() {    
       $.get('<%= Url.Action("NotesAction", "HardwareRequisition")%>', function (data) { 
        $("#myContentView").html(data); 
       }); 
       $('#OrdersButton').on("click", function() {     
        $.get('<%= Url.Action("OrdersAction", "HardwareRequisition")%>', function (data) { 
         $("#myContentView").html(data); 
        }); 
       }); 
      }); 
     }); 
    }); 

<input type="text" id="box" style="width: 100px;" /> 
     <div class="row"> 
        <div class="col-lg-12" id="account-subnavigation"> 
         <div class="btn-group" style=" margin-bottom:10px; margin-left:10px;">       
          <button class="btn btn-info" style="width:120px" id="InfoButton">Info</button> 
          <button class="btn btn-info" style="width:120px" id="NotesButton">Notes</button> 
          <button class="btn btn-info" style="width:120px" id="ordersButton">Orders</button> 
         </div> 
        </div> 
       </div> 

       <div class="row" id="myContentView"> 

       </div> 

voipSubform1.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Products>" %> 

<h2>VoIP Subform 1</h2> 
test 
<fieldset id="voipdetails" class="section2"> 

    <table class="table table-bordered"> 
<tr> 
<th>Id</th> 
<th>Product Name</th> 
<th>Product Cost</th> 
</tr> 
<% foreach (var product in ((IEnumerable<Products>)ViewData["data"])) 

{ %> 
<tr> 
<td> 
    <%: product.ProductId%> 
</td> 
<td> 
<%= product.ProductName%> 
</td> 
<td> 
<%= product.ProductCost%> 
</td> 
</tr> 
<% } %> 
</table> 
  
HardwareRequisitionController.cs 

public ActionResult InfoAction() 
      { 
       //return View("VoIPSubform1", _repository.GetForm(8)); 
     //   return PartialView("_MySecondPartialView"); 
     //   return View("RenderVOIPForm", _repository.GetForm(8)); 

       var filename = AppDomain.CurrentDomain.BaseDirectory + "App_Data\\" + "log\\" + "logErrors.txt"; 
       try 
       { 
        XMLReader readXML = new XMLReader(); 
        var data = readXML.ReturnListOfProducts().ToList(); 

       } 
       catch (Exception e) 
       { 
        var sw = new System.IO.StreamWriter(filename, true); 
        sw.WriteLine(DateTime.Now.ToString() + " " + e.Message + " " + e.InnerException); 
        sw.Close(); 
       } 
       // return View(data.ToList()); 
       XMLReader readXML2 = new XMLReader(); 
       var data2 = readXML2.ReturnListOfProducts(); 

       var sw2 = new System.IO.StreamWriter(filename, true); 
       sw2.WriteLine(DateTime.Now.ToString() + " " + data2); 
       sw2.Close(); 

       return PartialView("_VoIPSubform1", data2); 

      //  return View("_VoIPSubform1", data.ToList()); 
      } 

回答

0

如果有人有興趣的解決方案,我添加了控制器內部的這些線和它的工作。

ViewData["data"] = data2; 
return PartialView("_VoIPSubform1"); 
相關問題