gpt4 book ai didi

c# - 刷新 Json 局部 View

转载 作者:行者123 更新时间:2023-11-30 18:34:34 26 4
gpt4 key购买 nike

我想刷新 Json 局部 View 。我正在尝试使用这个:

$('#example123').load('@Url.Action("Rejestracja", "Logowanie")');

但不能正常工作。

$.ajax({
url: '@Url.Action("Rejestracja", "Logowanie")',
dataType: "json",
type: "POST",
async: false,
error: function () {
},
success: function (data) {
if (data.Success) {

var el1 = $('<div><strong style="color: black" id="example123">' + data.View + '</strong></div>');
$(el1).dialog(
{
modal: true,
title: '<div></div>',
minWidth: 340,
minHeight: 300,
buttons: {
'Zamknij': function () {
$('#example123').load('@Url.Action("Rejestracja", "Logowanie")');
$(this).dialog("destroy");


}
}
});
}

}
});

JSON 局部 View

[HttpPost]
public JsonResult Rejestracja()
{
bool dataCahnged = true;
var model = new Logowanie();
object view = this.RenderPartialViewToString("Rejestracja", model);
return Json(new { Success = true, dataCahnged, View = view });
}

(这只是第一次)

<script type="text/javascript">
$('#bladReje').hide();
$('#bladRejeText').hide();
$('#poprawnieReje').hide();
$('#poprawnieRejeText').hide();


</script>

例子(这只是第一次)

<div id="ex"></div>
<script type="text/javascript">
$('#ex').text('sasasa');
</script>

最佳答案

您使用“POST”调用 ajax 有什么特别的原因吗?您没有向服务器发送任何信息,所以这是我要更改的第一件事。尝试将其更改为 GET。

其次,尝试更改您的方法,让您的 View html 返回一个字符串。我正在使用这个扩展方法,它工作得很好:

public static class JsonHelper
{
public static string RenderPartialView(this Controller controller, string viewName, object model)
{
if (string.IsNullOrEmpty(viewName))
viewName = controller.ControllerContext.RouteData.GetRequiredString("action");

controller.ViewData.Model = model;
using (var sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName);
var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
viewResult.View.Render(viewContext, sw);

return sw.GetStringBuilder().ToString();
}
}
}

下面是一个关于如何使用它的例子:

 public ActionResult GetClientList()
{
List<ClientModel> clientList = ClientRepository.GetClients();
return Json(new JsonMixedResult { Result = "success", ViewHtml = this.RenderPartialView("ClientList", clientList) }, JsonRequestBehavior.AllowGet);
}

最后检查return Json语句上的final参数。这允许您的客户端代码访问从您的 Controller 返回的数据。在本例中,是一个包含您的 View html 的 Json 对象。

希望对你有帮助

关于c# - 刷新 Json 局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15945138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com