2013-01-22 2 views
1

나는 100 개의 게시물이어야하며 새 프로젝트에서 제대로 작동하지 않습니다. 나는 모든 스크립트를 가지고 있는데 테스트의 단순한 것처럼 보이고 webconfig에 눈에 잘 띄지 않게 설정되어 있습니다. 여전히 div의 텍스트를 바꾸기 위해 actionlink를 얻지는 않습니다. Firebug는 모든 스크립트가 성공적으로로드되었고 코드가 아래에 있음을보고합니다. 누구든지 도움을받을 수 있다면 큰 감사를 드리며 가상 맥주를 사 놓을 수 있습니다!Mvc4 Ajax 통화가 새 페이지를 엽니 다

컨트롤러 :

public ActionResult AjaxTest() 
{ 
return Content("Ajax Test Successful"); 
} 

보기 :

@{ 
ViewBag.Title = "User"; 
} 

<h2>Users</h2> 

@Html.ActionLink("Ajax Test", "AjaxTest", "Admin", new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "ajaxtest" }) 

<div id="ajaxtest"></div> 

레이아웃 :

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8" /> 
<title>@ViewBag.Title - My ASP.NET MVC Application</title> 
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
<meta name="viewport" content="width=device-width" /> 
@Styles.Render("~/Content/css") 
@Scripts.Render("~/bundles/modernizr") 
</head> 
<body> 
<header> 
<div class="content-wrapper"> 
<div class="float-left"> 
<p class="site-title"> 
<img src="~/Images/logo.jpg" /></p> 
</div> 
<div class="float-right"> 
<section id="login"> 
@Html.Partial("_LoginPartial") 
</section> 
<nav> 
<ul id="menu"> 
<li>@Html.ActionLink("Home", "Index", "Home")</li> 
<li>@Html.ActionLink("Upload Files", "UploadFiles", "Upload")</li> 
<li>@Html.ActionLink("Upload History", "UploadHistory", "Upload")</li> 
<li>@Html.ActionLink("Help", "Help", "Home")</li> 
<li>@Html.ActionLink("Admin", "Home", "Admin")</li> 
</ul> 
</nav> 
</div> 
</div> 
</header> 
<div id="body"> 
@RenderSection("featured", required: false) 
<section class="content-wrapper main-content clear-fix"> 
@RenderBody() 
</section> 
</div> 
<footer> 
<div class="content-wrapper"> 
<div class="float-left"> 
<p>&copy; @DateTime.Now.Year - My ASP.NET MVC Application</p> 
</div> 
</div> 
</footer> 

@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/jqueryval") 

@RenderSection("scripts", required: false) 
</body> 
</html> 

하프 타임 렌더링 된 페이지 ml의 :

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <title>User - My ASP.NET MVC Application</title> 
    <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
    <meta name="viewport" content="width=device-width" /> 
    <link href="/Content/site.css" rel="stylesheet"/> 
<link href="/Content/buttons.css" rel="stylesheet"/> 

    <script src="/Scripts/modernizr-2.5.3.js"></script> 

</head> 
<body> 
    <header> 
     <div class="content-wrapper"> 
      <div class="float-left"> 
       <p class="site-title"> 
        <img src="/Images/logo.jpg" /></p> 
      </div> 
      <div class="float-right"> 
       <section id="login"> 
         <ul> 
    <li><a href="/Account/Register" id="registerLink">Register</a></li> 
    <li><a href="/Account/Login" id="loginLink">Log in</a></li> 
</ul> 

       </section> 
       <nav> 
        <ul id="menu"> 
         <li><a href="/">Home</a></li> 
         <li><a href="/Upload/UploadFiles">Upload Files</a></li> 
         <li><a href="/Upload/UploadHistory">Upload History</a></li> 
         <li><a href="/Home/Help">Help</a></li> 
         <li><a href="/Admin/Home">Admin</a></li> 
        </ul> 
       </nav> 
      </div> 
     </div> 
    </header> 
    <div id="body"> 

     <section class="content-wrapper main-content clear-fix"> 


<h2>Users</h2> 

<a Confirm="" HttpMethod="" InsertionMode="Replace" LoadingElementDuration="0" LoadingElementId="" OnBegin="" OnComplete="" OnFailure="" OnSuccess="" UpdateTargetId="ajaxtest" Url="" href="/Admin/AjaxTest?Length=5">Ajax Test</a> 

<div id="ajaxtest"></div> 
     </section> 
    </div> 
    <footer> 
     <div class="content-wrapper"> 
      <div class="float-left"> 
       <p>&copy; 2013 - My ASP.NET MVC Application</p> 
      </div> 
     </div> 
    </footer> 

    <script src="/Scripts/jquery-1.7.1.js"></script> 

    <script src="/Scripts/jquery.unobtrusive-ajax.js"></script> 
<script src="/Scripts/jquery.validate.js"></script> 
<script src="/Scripts/jquery.validate.unobtrusive.js"></script> 



</body> 
</html> 

웹 설정 :

<add key="ClientValidationEnabled" value="true" /> 
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> 

답변

1

당신은 Ajax.ActionLink하지 Html.ActionLink를 이용해야하며, 또한 MicrosoftAjax.js 및 MicrosoftMvcAjax.js 스크립트가로드되어 있는지 확인해야합니다 귀하의 페이지가 MVC 2 또는 이전 버전을 사용하는 경우 (렌더링 된 html이 표시되지 않습니다).

이 같은 출력을 찾고 :

<a data-ajax="true" data-ajax-method="Get" data-ajax-mode="replace" data-ajax-update="#ajaxtest" href="/Home/About">Ajax Test</a>

+0

나는 믿을 수 없어 내가 놓친 - 당신은 전설입니다, 감사합니다! –

관련 문제