7

मेरे पास कई अलग-अलग क्षेत्रों के साथ एक एमवीसी 5 एप्लीकेशन है। परियोजना को नेविबार में लॉग ऑफ लिंक के साथ बनाया गया था, लेकिन यदि उपयोगकर्ता किसी भी क्षेत्र में है, तो लिंक टूटा हुआ है। मैं जोड़ने सोचा:एमवीसी 5 लॉग ऑफ लिंक विभिन्न क्षेत्रों से विफल रहता है

new { area = "" } 

सही जगह पर वापस लिंक इंगित होगा, लेकिन या तो यह नहीं या मैं इसे गलत जगह पर करने की कोशिश की है। नीचे के रूप में कोड:

@using Microsoft.AspNet.Identity 
    @if (Request.IsAuthenticated) 
    { 
     using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" })) 
     { 
      @Html.AntiForgeryToken() 

      <ul class="nav navbar-nav navbar-right"> 
       <li> 
       @Html.ActionLink("Hello " + User.Identity.GetUserName(), "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" }) 
       </li> 
       <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li> 
      </ul> 
     } 
    } 
    else 
    { 
     <ul class="nav navbar-nav navbar-right"> 
      <li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li> 
     </ul> 
    } 

की जरूरत है पर कोई भी विचार क्या क्षेत्र उपयोगकर्ता में है की परवाह किए बिना लॉग ऑफ काम है करने के लिए परिवर्तित किया जा सकता?

+0

मैं 'नए {क्षेत्र =" "}' अपने कोड में स्निपेट का कोई भी घटना नहीं देख सकता। सही जगह 'Html.BeginForm (...)' पैरामीटर – thmshd

उत्तर

12

सही जगह Html.BeginForm(...) मापदंडों के भीतर है:

using (Html.BeginForm("LogOff", "Account", new { area = "" }, FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" })) 
+0

के भीतर है, जहां मैंने इसे रखा लेकिन इसका कोई प्रभाव नहीं पड़ा, इसलिए मैंने इसे फिर से बाहर निकाला क्योंकि मैंने सोचा था कि मुझे गलत होना चाहिए। – user3632714

संबंधित मुद्दे