[英]ASP.NET MVC - How to show partial views with arraylist data
我想基于所选按钮在aspx网页上显示三个不同的局部视图。 那部分工作正常。 但是随后,每个局部视图将从xml文件读取单独的部分,并向视图提供数据。 我试图将数据作为Arraylist传递给视图,但现在未显示部分视图。 如果不传递数据,则局部视图有效。 请注意,我使用的是aspx而不是剃须刀。 关于如何进行此工作的任何构想,以便在单击这三个按钮中的任何一个时,也会显示带有xml数据的不同局部视图。 提前致谢。
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());
}
如果有人对解决方案感兴趣,我将这些行添加到控制器内,并且可以正常工作。
ViewData["data"] = data2;
return PartialView("_VoIPSubform1");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.