Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在div MVC中加载局部视图_Javascript_Jquery_Asp.net Mvc - Fatal编程技术网

Javascript 在div MVC中加载局部视图

Javascript 在div MVC中加载局部视图,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我有一个按钮在我的MVC视图点击它,它应该添加一个“div”的部分视图,通过调用一个作为参数的对象的操作 我试过这样的东西: $('#buttonId').onclick(function(){ $('#divid').load(@Html.Action("ActionName","ControllerName",new{parameterName = objectToPass})) }); 但它在页面加载本身上加载actionresult/部分视图,而不是单击按钮 有什么想法吗?加载需要

我有一个按钮在我的MVC视图点击它,它应该添加一个“div”的部分视图,通过调用一个作为参数的对象的操作

我试过这样的东西:

$('#buttonId').onclick(function(){

$('#divid').load(@Html.Action("ActionName","ControllerName",new{parameterName = objectToPass}))

});
但它在页面加载本身上加载actionresult/部分视图,而不是单击按钮


有什么想法吗?

加载需要一个字符串,您正在生成一个变量路径 如果您查看源代码,它会生成如下内容:

$('#buttonId').click(function(){
    $('#divid').load(yoururl/);
});
但你想要的是:

$('#buttonId').click(function(){
    $('#divid').load("yoururl/");
});
代码应该如下所示:

$('#buttonId').click(function(){
    $('#divid').load('@Html.Action("ActionName","ControllerName",new{parameterName = objectToPass})');
});
但正如我所看到的,在你点击
#buttonId

尝试使用

@Url.Action
而不是

@Html.Action
或者您可以使用ajax,例如:

$('#buttonId').click( function() {
    $.ajax({
        type: 'POST',
        url: '@Url.Content("~/ControllerName/ActionName")',
        data: objectToPass,
        success: function (data) {
           $('#divid').innerHTML = data;
        }
    });
}

$(文档).ready(函数(){
$('#buttonId')。单击(函数(){
$('#divid').load('@Url.Action(“About”,“Home”));
});
});
加载部分视图或任何URL

在div MVC 4中加载局部视图

最近,在做了大量的研发工作之后,我想在Div中加载Partal视图

$.ajax({
    type: 'POST',
    url: '@Url.Content("~/ControllerName/ActionName")',
    data: {
        title: title
    },
    success: function(result) {
        $('#divid').innerHTML = result;
    }
});
和部分视图中的动作控制器代码

public PartialViewResult ShowCategoryForm(string title)
{
    Model model = new Model();
    model.Title = title;
    return PartialView("~/Views/ControllerName/PartalView.cshtml", model);
}

关于ajax调用成功函数append result

ajax调用=>

url: 'controllername/methodname'
 success: function (partialviewresult)
{ 
          $('#div').append(partialviewresult);
}

  // inside controller
 public ActionResult methodname()
{
    return PartialView("~/a/a.cshtml");
}

控制器必须返回partialview作为结果

如何在URL中传递对象?-如果要向其添加字符串,而不是作为URL路径的对象/变量,请看最后一个示例,我正在调用partialview操作,该操作将对象作为参数,您要说的是提供部分视图URL而不是调用操作,那么我如何在URL中传递对象???您可以在代码中说
if Request.IsAjaxRequest(){return ParitalView….}
您需要
URL.action
来获取URL
Html.Action
将执行该操作并返回查看结果。同样,您不能使用URl传递对象。Action此对象有多复杂?你能把身份证递给我吗?否则,将HttpPost对象作为json进行ajax调用,然后在响应处理程序中将html加载到div中。为了帮助解释,html.Action将生成并返回部分视图的html。如果您希望它立即运行,那么它的用途将有所不同(直接使用,而不是通过ajax。)URL。Action创建一个URL字符串,用于请求局部视图。因此,如果您希望浏览器调用ajax以获取和呈现内容,则需要使用URL。特别是如果您计划延迟/推迟通话,直到浏览器已经拥有主页。
url: 'controllername/methodname'
 success: function (partialviewresult)
{ 
          $('#div').append(partialviewresult);
}

  // inside controller
 public ActionResult methodname()
{
    return PartialView("~/a/a.cshtml");
}