gpt4 book ai didi

c# - 使用 jQuery .load() 加载局部 View 而不使用 Razor

转载 作者:太空宇宙 更新时间:2023-11-03 23:12:39 24 4
gpt4 key购买 nike

我有一个 View,它是 PartialView 的容器。让我们说一个客户 - 订单关系。 View 应该收到 CustomerViewModel。而 PartialView 是订单的集合,例如 IEnumerable<OrderViewModel> .

我基本上有两种方法(更不用说 Angular)了,Razor 或 jQuery。使用 Razor 非常简单,利用 @Html.Partial("_CustomerOrdersPartial", Model.Orders) .但是让我们假设我不能使用 Razor 语法,这就是我最终发布这个问题的方式。我已经阅读了很多关于这个问题的帖子,但是大多数(更不用说全部)建议使用 $("#container").load('@Url.Action("ActionName", new { parameterX = valueY })) .那么这是我的问题:

  • 为什么混合使用 Razor 和 jQuery?
  • 这是唯一的方法吗?
  • 有什么方法可以调用 View 并传递模型吗?

最后一个问题与上述代码需要调用服务器端的操作有关,而 @Html.Partial("_CustomerOrdersPartial", Model.Orders)上面提到的只会调用 View (客户端)并发送给定的模型。

关于如何解决这个问题的任何想法都会非常有帮助。

提前感谢您的时间和想法。

最佳答案

我的解决方案是:

function ReturnPanel(div, panel) {

$.ajax({
type: "POST",
url: "@Url.Action("GetPanel", "ControllerName")",
data: JSON.stringify({ 'idCurso': idCurso, 'panel': panel }),
contentType: 'application/json; charset=utf-8',
success: function (response) {
$("#" + div).html(response);
},
error: function (xhr, status, errorThrown) {
//Here the status code can be retrieved like;
alert("Error: status = " + xhr.status + " Descripcion =" + xhr.responseText);
}
})
}

在 CS 中。

 [HttpPost]
public ActionResult GetPanel(int idCurso, string panel)
{
Contenido contenido = new Contenido();
contenido.IdCurso = idCurso;
return PartialView(panel, contenido);
}

关于c# - 使用 jQuery .load() 加载局部 View 而不使用 Razor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38517531/

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