в HTML
@section Scripts
{
<script type="text/javascript">
$(document).ready(function() {
$('#bSubmit').click(function(event) {
event.preventDefault();
var formData = new FormData();
formData.append('@Html.Get__RequestVerificationTokenString()', '@Html.GetAntiForgeryToken()');
formData.append('request.MessageId', @Model.MessageId);
formData.append('request.Message', $('#Message').val());
var xmlHttpRequest = new XMLHttpRequest();
if (!window.XMLHttpRequest) {
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttpRequest.open("POST",
'@Url.Action("Send", "Page", new {area = "Question"})',
true);
xmlHttpRequest.onloadend = function() {
var response = JSON.parse(xmlHttpRequest.responseText);
$('#prButton').removeClass("visible");
$('#prButton').addClass("invisible");
switch (response.Type) {
case 10:
LOG(response.PartialView);
$('#layoutSingleMessageItems .card-box').replaceWith(response.PartialView);
break;
case -13:
@Html.ShowAlert("خطا در ارسال اطلاعات!");
break;
}
};
xmlHttpRequest.send(formData);
});
});
</script>
}
<div class="row">
<div class="col-md-7">
@Html.Partial("Par_SingleMessageItem", Model.SingleMessageItems)
</div>
<div class="col-md-5">
<div class="card-box">
<form>
@Html.AntiForgeryToken()
<div class="form-group col-md-12">
<label class="col-form-label">پاسخ</label>
<textarea rows="8" id="Message" placeholder="لطفا پاسخ خود را وارد کنید ..."></textarea>
</div>
<div class="form-group col-md-12 m-t-10">
<button id="bSubmit" type="submit">
ارسال پاسخ
</button>
</div>
</form>
</div>
</div>
в PartialView (Par_SingleMessageItem)
@model List<_4Wheels.Areas.Question.Models.SingleMessage.SingleMessageItem>
<div id="layoutSingleMessageItems" class="card-box">
<div class="card-box">
@{
foreach (var item in Model)
{
//code
}
}
</div>
</div>
вКонтроллер
[HttpPost]
public ActionResult Send() {
/*
items = list object
*/
return Json(new SendAnswerResponse {
Type = 10,
SingleMessageItems = PartialView("Par_SingleMessageItem" , items)
});
}
в SendAnswerResponse
public class SendAnswerResponse : MvcResponse
{
public PartialViewResult SingleMessageItems { get; set; }
}
Весь этот код работает нормально, но $('#layoutSingleMessageItems .card-box'). replaceWith(response.PartialView);
Он не работает, он не делаетлюбые ошибки Возвращает желаемый PartialView , только тег не обновляется.
Я даже поместил его в Console.log (response.PartialView) для отображения этогосообщение
Модель: (5) […] 0: Объект {Сообщение: "fdgdfgdfg", Имя пользователя: "", Дата сообщения: "1398-08-06 23:01:11 ",…} 1: Объект {Сообщение:" dsafd ", Имя пользователя:" ", Дата сообщения:" 1398-08-07 08:34:19 ",…} 2: Объект {Сообщение:" vcgdsafd ", Имя пользователя: "", Дата сообщения: "1398-08-07 08:34:58",…} 3: Объект {Сообщение: "fdgfdg", Имя пользователя: "", Дата сообщения: "1398-08-07 08:42:43 ",…} 4: Объект {Сообщение:" fdgfdg ", Имя пользователя:" ", Дата сообщения:" 1398-08-07 08:42:54 ",…}Длина: 5: Array [] TempData: Array [] View: null ViewBag: Object {} ViewData: [] длина: 0: Array [] ViewEngineCollection: Array [{…}] ViewName: "Par_SingleMessageItem": {…} defineGetter : функция defineGetter () defineSetter : функция defineSetter () lookupGetter : функция lookupGetter () lookupSetter : функция lookupSetter () proto : constructor: function Object () hasOwnProperty: функция hasOwnProperty () isPrototypeOf: function isPrototypeOf () propertyIsEnumerable: функция propertyIsEnumerable () toLocaleString: функция toLocaleString () toSource: функция toSource () ToString: функция toString () valueOf: функция valueOf (): функция proto (): функция proto () Utility.js: 13: 13