2016-02-23 71 views

回答

2

dnstommy幾乎沒有 - 他的實現只是細微的變化都會讓你有。 HttpPost屬性不是必需的。

public ActionResult MetaData() 
{ 
    if (Sitecore.Context.IsLoggedIn == false) 
    { 
     return new EmptyResult(); 
    } 

    // build your model and return to the view 
    return View(); 
} 

返回EmptyResult()相同的觀點呈現一個空字符串,所以這將是彷彿呈現並不存在於頁面上。

如果您想進一步將事物鎖定到特定角色,可以使用Sitecore.Context.User.IsInRole("ROLE NAME")來檢查。

有關Sitecore.Context.ContentDatabase的說明 - 這是設置爲master如果你在shell網站。也就是說,如果你在內容編輯器中。

如果您在CM服務器上瀏覽的網站,或預覽現場,SiteContext將網站的定義,如果你已經設置了content屬性都將重新啓動,否則會爲空。所以它是而不是一個安全的檢查,看看你是否在CM服務器上。

+0

[link](http://www.sitecore.net/learn/blogs/technical-blogs/morten-ljungberg-sitecore-whats-new/posts/2015/08/adding-a-custom-button-to -the-ribbon.aspx) 我跟着上面的博客並創建了一個按鈕。點擊一個按鈕,我打開一個新頁面SheerResponse.Eval(「window.open('/ app/Presentation/Detail?itemid =」+ context.Items [0] .ID.ToString()+「&db =「+ context.Items [0] .Database.ToString()+」','_blank')「);' 我總是從上下文獲得匿名。 – Sakthivel