Веб-страница возвращает неопределенные при попытке загрузить частичную

Что я делаю неправильно с моим частичным представлением? Я получаю сообщение об ошибке "undefined" с веб-страницы, когда я нажимаю на строку ученика. Я попробовал "результат" и "result.responseText", но он все еще предупреждает "undefined". Не уверен, почему действие контроллера возвращает ошибку вместо успеха

вот мои заголовки:

Request URL:http://localhost:54933/Base/ShowSpecificStudent
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:application/json, text/javascript, */*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:4
Content-Type:application/x-www-form-urlencoded
Host:localhost:54933
Origin:http://localhost:54933
Referer:http://localhost:54933/base/ShowStudents
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36
X-Requested-With:XMLHttpRequest
Form Dataview sourceview URL encoded
id:7
Response Headersview source
Cache-Control:private
Connection:Close
Content-Length:310
Content-Type:text/html; charset=utf-8
Date:Tue, 10 Sep 2013 21:24:24 GMT
Server:ASP.NET Development Server/10.0.0.0
X-AspNet-Version:4.0.30319
X-AspNetMvc-Version:2.0

Javascript:

$(function () {
$("tr[name='StudentTableRow']").click(showStudent); 
});

function showStudent() { 
var link = '/Base/ShowSpecificStudent';
var id = this.cells[0].innerText;

$.ajax({
 type: 'POST',
 url: link,
 data: { id: id },
 dataType: 'json',
 success: function (result) {
 $("#StudentDetail").html(result.responseText);
 //$("#StudentDetail").html(result);
 },
 error: function (result) {
 alert(result.message);
 }
});

Основной вид:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<ienumerable<student.models.student>>" %>





 
 
 



 

 <%if(Model != null) %>
 <% foreach (var item in Model) { %>

 

 <% } %>

 <table>
 <tbody><tr>
 <th>
 ID
 </th> 
 </tr><tr name="StudentTableRow">
 <td>
 <%: item.StudentID%>
 </td> 
 </tr></tbody></table>

 <% using (Html.BeginForm()) %>
 <% { %>
 <div id="StudentDetail">
 <% Html.RenderPartial("ShowSpecificStudent", new List<student.models.student>()); %> 
 </student.models.student></div> 
 <% } %> 



</ienumerable<student.models.student>

Частичный вид:

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

<div>
<table>
 <tbody><tr>
 <th>
 Student Description
 </th> 
 </tr>
</tbody></table>

 <% if (Model != null) %> 
 <% foreach (var item in Model) { %>
  
 <%}%>
<table><tbody><tr>
 <td>
 <%: item.StudentDescription%>
 </td> 
 </tr></tbody></table>
</div>
</dynamic>

Действие контроллера:

[HttpPost()]
 public ActionResult ShowSpecificStudent(string id)
 {
 StudentEntities context = new StudentEntities();
 Int16 studentId = Convert.ToInt16(student);

 ViewData.Model = context.Students.Where(i => i.StudentID == studentId );
 return PartialView("~/Views/Shared/ShowSpecificStudent.ascx", ViewData.Model);
 }
1 ответ

Я нашел его, мой тип данных в JS-функции был "json", который должен был быть "html"

licensed under cc by-sa 3.0 with attribution.