jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用JQuery Ajax Post调用渲染一个简单的ASP.NET MVC PartialView大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的MVC控制器中有以下代码
[httpPost]
public  PartialViewResult GetPartialDiv(int id /* drop down value */)
{
    PartyInvites.Models.GuestResponse guestResponse = new PartyInvites.Models.GuestResponse();
    guestResponse.Name = "this was generated from this ddl id:";

    return PartialView("MyPartialView",guestResponsE);
}

然后我在我的javascript的顶部我的看法:

$(document).ready(function () {

$(".SELEctedCustomer").change( function (event) {
    $.ajax({
        url: "@Url.Action("GetPartialDiv/")" + $(this).val(),data: { id : $(this).val() /* add other additional parameters */ },cache: false,type: "POST",dataType: "html",success: function (data,textStatus,XMLhttprequest) {
            SetData(data);
        }
    });

});

    function SetData(data)
    {
        $("#divPartialView").html( data ); // HTML DOM replace
    }
});

然后终于我的html:

<div id="divPartialView">

    @Html.Partial("~/Views/MyPartialView.cshtml",Model)

</div>

基本上,当我的下拉标签(有一个叫做SELEctedCustomer的类)有一个onchange被触发时,它应该触发post调用.它可以调试到我的控制器,甚至可以成功地返回PartialViewResult,但是成功的SetData()函数不会被调用,而是在Google CHromes控制台上得到一个500内部服务器错误,如下所示:

任何想法我做错了什么?我已经把这个死了!

解决方法

这行不是真的:url:“@ Url.Action(”GetPartialDiv /“)”$(this).val(),

$.ajax数据属性已经包含路由值.所以只需在url属性中定义url.在数属性中写入路由值.

$(".SELEctedCustomer").change( function (event) {
    $.ajax({
        url: '@Url.Action("GetPartialDiv","Home")',XMLhttprequest) {
            SetData(data);
        }
    });
});

大佬总结

以上是大佬教程为你收集整理的使用JQuery Ajax Post调用渲染一个简单的ASP.NET MVC PartialView全部内容,希望文章能够帮你解决使用JQuery Ajax Post调用渲染一个简单的ASP.NET MVC PartialView所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。