C# 为什么我的JQuery函数在尝试渲染局部视图时失败
我试图使用ajax更新局部视图,但由于某些原因,它失败了 控制器:C# 为什么我的JQuery函数在尝试渲染局部视图时失败,c#,asp.net-mvc,jquery,partial-views,C#,Asp.net Mvc,Jquery,Partial Views,我试图使用ajax更新局部视图,但由于某些原因,它失败了 控制器: [HttpPost()] public ActionResult DisplaySections(string id) { DataContext db = new DataContext(); var Data = (from p in db.vwData.Where(a => a.CourseId == id) group p by p.Sectio
[HttpPost()]
public ActionResult DisplaySections(string id)
{
DataContext db = new DataContext();
var Data = (from p in db.vwData.Where(a => a.CourseId == id)
group p by p.SectionId into g
select g.Key).ToList();
return PartialView("DisplaySections", Data);
}
阿贾克斯:
部分:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
<%@ Import Namespace="Course.Models" %>
<table>
<% if (Model != null)
foreach (var item in Model) {
if (item == null) continue; %>
<tr>
<td>
<%: item.SectionId%>
</td>
<td>
<%: item.Description%>
</td>
</tr>
<% } %>
</table>
主视图:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<%@ Import Namespace="Course.Models" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Course - Sections
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div style="text-align: left; height: 202px;">
<table>
<tr>
<th>Course Id</th>
<td><input type="text" name="CourseId" id="CourseId"/></td>
</tr>
<tr>
<th>Course Name</th>
<td><input type="text" name="CourseName" id="CourseName"/></td>
</tr>
</table>
<div id="partial">
<% Html.RenderPartial("DisplaySections"); %>
</div>
</div>
</asp:Content>
课程-部分
课程Id
课程名称
让我们尝试几件事:
你的局部视图充满了错误 控制器操作将
列表
(或列表
,具体取决于节ID
属性的类型)传递到此视图:
[HttpPost()]
public ActionResult DisplaySections(string id)
{
DataContext db = new DataContext();
List<string> data =
(from p in db.vwData.Where(a => a.CourseId == id)
group p by p.SectionId into g
select g.Key).ToList();
return PartialView("DisplaySections", data);
}
它怎么会失败?打开Firebug控制台,查看是否有任何错误。这可能是一百万件事。没有jQuery?服务器返回错误500?您发布到的URL不是您所期望的?@MNGwinn它甚至可以执行控制器操作,我甚至可以在控制器操作中将鼠标悬停到“data”时看到数据,但随后它会将“error”返回给jQuery函数。是否控制器操作(列表)和jQuery(html)中的数据类型不匹配?@SergioTapia我有jQuery,服务器也在返回数据。它从控制器操作返回“error”到jQuery。在呈现局部视图时,我通过在父视图中传递“Model”使局部视图工作。我的方式可以接受吗?还是我应该追求强型解决方案?你应该追求强型解决方案。
[HttpPost()]
public ActionResult DisplaySections(string id)
{
DataContext db = new DataContext();
List<string> data =
(from p in db.vwData.Where(a => a.CourseId == id)
group p by p.SectionId into g
select g.Key).ToList();
return PartialView("DisplaySections", data);
}
<%@ Control
Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<List<string>>"
%>
<table>
<% if (Model != null) { %>
<% foreach (string item in Model) { %>
<% if (item == null) continue; %>
<tr>
<td>
<%: item %>
</td>
</tr>
<% } %>
<% } %>
</table>