C# MVC使用ajax渲染局部视图

C# MVC使用ajax渲染局部视图,c#,jquery,ajax,asp.net-mvc,C#,Jquery,Ajax,Asp.net Mvc,我需要你的帮助 我正在尝试使用ajax渲染局部视图。但它失败了。 以下是代码: //I have action to get data public ActionResult ReturnPartial() { return PartialView("_LogIn"); } //here is ajax <p onclick="Func1()">Log In</p> <div id="here"&g

我需要你的帮助

我正在尝试使用ajax渲染局部视图。但它失败了。 以下是代码:

 //I have action to get data
 public ActionResult ReturnPartial()
    {
                return PartialView("_LogIn");
    }

 //here is ajax
     <p onclick="Func1()">Log In</p>

<div id="here"></div>

<script>
    function Func1() {
        $.ajax({
            type: "GET",
            url: '@(Url.Action("ReturnPartial", "Registration"))',
            success: function (data) {
                $("#here").html(data);
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert("Failed to retrieve view");
            }
        });
    }
</script>
//我有获取数据的操作
公共行动结果返回部分()
{
返回PartialView(“u登录”);
}
//这里是ajax
登录

函数Func1(){ $.ajax({ 键入:“获取”, url:@(url.Action(“ReturnPartial”、“Registration”), 成功:功能(数据){ $(“#此处”).html(数据); }, 错误:函数(xhr、ajaxOptions、thrownError){ 警报(“检索视图失败”); } }); }
当我单击“登录”时,它会更改消息:“检索视图失败”


感谢您的关注,当您在注册控制器中有此操作方法时,请帮助我

public ActionResult ReturnPartial()
{
    return PartialView("_LogIn");
}
确保
\u LogIn.cshtml
位于
Views/Shared
文件夹或
Views/Registration
文件夹中

如果要将
\u LogIn.cshtml
放入
视图/Partial
文件夹中,则可以通过如下指定完整路径来访问Partial视图

public ActionResult ReturnPartial()
{
    return PartialView("~/Views/Partial/_LogIn.cshtml");
}

您不应该向常规消息“检索视图失败”发出警报。 您应该至少已通知xhr.status和xhr.responseText,以便知道您是否无法访问服务器(客户端/url错误)或服务器由于服务器错误而无法返回响应


还要确保您的常规错误处理(HandleErrorAttribute或Application_Error)记录所有错误,这样您就可以找到所有服务器错误及其详细信息。

如果Ajax请求失败,则与服务器端代码相关。返回的响应应该是客户端错误(HTTP 4xx)或服务器错误(HTTP 5xx)。我不使用.NET,但您需要检查服务器端代码,而不是前面的代码。也许可以查看日志?您是否尝试访问
http://yourdomainname.com/Registration/ReturnPartial
在浏览器url地址栏中键入地址,然后按enter键?查看登录部分视图是否显示在浏览器中。@Flo Schield Bobby我30分钟前开始编写此应用程序。所以我的控制器和视图中只有这些函数。当然我也有部分观点。没什么了。谢谢你@ekad我解决了我的问题。实际上,在~Views/shared/_LogIn..cshtml、~Views/[controllername]/_LogIn.cshtml中搜索视图。因此,我将我的_LogIn..cshtml从~Views/Partial/_LogIn.cshtml移动到~Views/Shared/u LogIn..cshtml,它现在可以工作了,但如果我不想将我的视图从一个文件夹移动到另一个文件夹,我该怎么办?@DatoMaisuradze,请参阅下面的答案。