я, возможно, пропустил точку где-то, но мои действия, вернувшиеся частичный вид сделать так, возвращая объект View, который ссылается на страницу ASCX. Это вернет частичный HTML без полных конструкций страницы (html, head, body и т. Д.). Не знаете, почему вы хотите сделать что-либо помимо этого, есть ли конкретная причина, по которой вам нужно вернуть PartialViewResult? Вот пример из моего рабочего кода.
Сначала действие в мой контроллер:
public ViewResult GetPrincipleList(string id)
{
if (id.Length > 1)
id = id.Substring(0, 1);
var Principles = competitorRepository.Principles.Where(p => p.NaturalKey.StartsWith(id)).Select(p=>p);
return View(Principles);
}
И тогда частичный вид (ASCX):
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<MyProject.Data.Principle>>" %>
<% foreach (var item in Model) { %>
<div class="principleTitle" title="<%= Html.Encode(item.NaturalKey) %>"><%= Html.Encode(item.Title) %></div>
<%} %>
Наконец, Jquery, который устанавливает вызов:
$(function() {
$(".letterSelector").click(function() {
$("#principleList").load("/GetPrincipleList/" + $(this).attr("title"), null, setListClicks);
});
});
Итак, полный процесс AJAX, надеюсь, что это поможет.
---- UPDATE следующий комментарий ----
Возвращение данных JSon так же просто:
Во-первых, инициирование вызова AJAX, когда выберите изменения окно:
$("#users").change(function() {
var url = "/Series/GetUserInfo/" + $("#users option:selected").attr("value");
$.post(url, null, function(data) { UpdateDisplay(data); }, 'json');
});
Javascript, обрабатывающий возвращенные данные json:
function UpdateDisplay(data) {
if (data != null) {
$("div.Message").fadeOut("slow", function() { $("div.Message").remove(); });
$("#Firstname").val(data.Firstname);
$("#Lastname").val(data.Lastname);
$("#List").val(data.List);
$("#Biography").val(data.Biography);
if (data.ImageID == null) {
$("#Photo").attr({ src: "/Content/Images/nophoto.png" });
$("#ImageID").val("");
}
else {
if (data.Image.OnDisk) {
$("#Photo").attr({ src: data.Image.ImagePath });
}
else {
$("#Photo").attr({ src: "/Series/GetImage?ImageID=" + data.ImageID });
}
$("#ImageID").val(data.ImageID);
}
$("form[action*='UpdateUser']").show();
} else {
$("form[action*='UpdateUser']").hide();
}
};
И, наконец, A который возвращает данные json:
public JsonResult GetUserInfo(Guid id)
{
MyUser myuser = (from u in seriesRepository.Users
where u.LoginID == id
select u).FirstOrDefault();
if (myuser == null)
{
myuser = new MyUser();
myuser.UserID = 0;
myuser.Firstname = Membership.GetUser(id).UserName;
myuser.Lastname = "";
myuser.List = "";
myuser.Biography = "No yet completed";
myuser.LoginID = id;
}
return Json(myuser);
}
Помогло ли это? Если нет, вы можете опубликовать часть кода, над которым работаете, поскольку я что-то упускаю.
Это именно то, что мне нужно. Теперь пытаясь заставить его работать. Спасибо Дарин. –
Я, очевидно, не нуждаюсь в этом, будет ли кто-нибудь добрым, чтобы дать мне пример того, где это необходимо? – Lazarus
http://thriftybliss.spaces.live.com/blog/cns!58DA805F37F31F20!170.entry?wa=wsignin1.0&sa=362921628 Это было быстрее и легче для меня. –