MVC-Controller-Action Wird Mehrfach Aufgerufen, Wenn das Layout Angegeben Ist

Ich habe ein problem, wenn eine controller-action aufgerufen wird mindestens zweimal. Ich habe eine Ansicht, die eine andere Ansicht als seine layout-Seite, und die Ansicht wird mehrfach aufgerufen. Wenn ich entfernen Sie die Spezifikation für das layout ist die Aktion konsequent einmal ausgeführt. Ich schaute durch StackOverflow und anderen Seiten aber nicht finden konnten ein problem, die hatte die gleichen Merkmale wie meins, so bin ich Entsendung eine neue Frage stellen.

_ViewStart.cshtml:
@{
   Layout = "~/Views/Shared/_ProfileLayout.cshtml";
}

Index.cshtml inside my Profile folder: @{
ViewBag.Title = "Index";    
}
Index

Controller Action:
public ActionResult Index()
    {            
        //ToDo: BusinessLogic
        //This method gets called twice
        //******************//
        return View();
    }  

Scheint es wie ein einfaches problem und ich bin definitiv etwas fehlen offensichtlich. Ich habe das Beispiel-Projekt auf dieser Seite: https://skydrive.live.com/#cid=F2DAB940147490B0&id=F2DAB940147490B0%21140

Irgendwelche Ideen, was falsch?

Dank

Update: Hier ist die Aussicht:
@{
ViewBag.Title = "TestMVCProject";
Layout = null;
}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TestMVCProject</title>
    <link rel="Stylesheet" type="text/css" href="../../Content/ActiveSite.css" />    
    <link href="../../Content/themes/TestMVCProject/jquery-ui-1.9.1.custom.min.css" rel="stylesheet" type="text/css" />
    <script src="../../Scripts/jquery-1.8.2.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery-ui-1.9.1.custom.js" type="text/javascript"></script>
</head>

<body>
<div class="container">
  <div class="header">  
  <div id="loginimagecontainer">
  @using (Html.BeginForm("LoginActions", "Account", FormMethod.Post, new { @id = "LoginActionsForm" }))
  {  
  @Html.AntiForgeryToken()      
  <a href="#"><img src="/images/icons/message-icon.png" width="60" height="60" alt="Messages" title="Messages"/></a>
  <a href="/Account/LogOff"><img src="/images/icons/log-out-icon.png" width="60" height="60" alt="Log off" title="Log off"/></a>
  }    
  </div>

  <div class="logotext"><img alt="TestMVCProject Logo" src="#" width="350" height="150" id="TestMVCProjectLogo" /></div>
    </div>    
  <div class="content profile">  
    <div id="leftPane">
        <img src="#" alt="Placeholder" width="165" height="200" id="ProfilePhoto" title="Profile Photo" />
        <div id="Username"></div>
        <div id="NavLinks">
            <div class="ProfileNavigation" onclick="Navigate('/Profile/Update')"><span>Profile</span><img src="/images/icons/edit-icon.png" width="30" height="30" alt="Profile" /></div>
            <div class="ProfileNavigation"><span>Search</span><img src="/images/icons/search-icon.png" width="30" height="30" alt="Search" /></div>
            <div class="ProfileNavigation" onclick="Navigate('/Photo')"><span>Photos</span><img src="/images/icons/camera-icon.png" width="30" height="30" alt="Photos"/></div>
        </div>
    </div>
      <div id="adcontainer">
        <h4>Ads go here</h4>
        <p>content goes here</p>    
        </div>

    <div id="centerPane">
    @RenderBody()
    </div>     

  </div>
  @RenderPage("~/Views/Shared/_Footer.cshtml")
    <div id="redirectiondialog" class="dialog">
    <br />
    Hey, wait up... we're redirecting you over to the login page
    <br />
    </div> 

    <script type="text/javascript">    
        function Navigate(url) {
            window.location = url;
            return false;
        }
    </script>
</div>
</body>
</html>

und hier ist die Fußzeile der Seite:

 <div class="footer">
    <div class="fltrt">Copyright 2012 TestMVCProject Inc&nbsp;</div>
    <p><a href="/Profile/Test">About</a> | <a href="#">Contact</a> | <a href="#">FAQ</a> | <a href="#">Advertise</a> | <a href="#">Support</a> | <a href="#">Feedback</a> | <a href="#">Login</a> | <a href="#">Register</a> | <a href="#">Privacy</a> | <a href="#">Terms</a></p>    
</div>

Update:
@Tieson T: Danke, habe ich dies geändert werden Html.Teilweise statt RenderPage. Jedoch ist das problem immer noch besteht, wie die action-Methode wird immer noch zweimal angerufen... (Bearbeiten Beschreibung, wie ich nicht über die Berechtigungen zum hinzufügen von Kommentaren)

  • Was macht Ihr in der layout-Ansicht Aussehen?
  • Ich habe gerade aktualisiert die Beschreibung und fügte hinzu, diese Informationen jetzt
InformationsquelleAutor user1717575 | 2012-12-23
Schreibe einen Kommentar