C# MVC使用ajax渲染局部视图
我需要你的帮助 我正在尝试使用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
//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,请参阅下面的答案。