2017-06-06 64 views
0

刪除文件的路徑,我有以下文件路徑顯示: enter image description here2sxc |通過調整W/Javascript方法

我只想顯示文件名「文檔1」(減去路徑和擴展名)。

我已經unsucessfully嘗試以下並希望任何進一步的光什麼我做錯了,你可以分享爲...

@functions{ 
    public static string SplitWord(string text, int length) 
    { 
     string str = text; 
     int n = str.LastIndexOf("."); 
     string str1=str.Substring(n,str.LastIndexOf("/")); 
     str1=str1.Substring(1,str1.Length); 
     return str1; 
    } 
} 
<ol> 
    @foreach (var q in AsDynamic(App.Data["CatFilter"])) 
    { 
    <li class="sc-element faq-set faq-setOne" data-tags="@String.Join(",", ((List<DynamicEntity>)q.Categories).Select(a => AsDynamic(a).EntityId))"> 
     @q.Toolbar @Edit.Toolbar(actions: "edit,new", contentType: "CatFilter") 
     <a class="faq-question" style="cursor: pointer"> 
      @if(!String.IsNullOrEmpty(q.LinkText)) 
      { 
       SplitWord(@q.LinkText,@q.LinkText.Length); 
      } else { 
       SplitWord(@q.Link,@q.Link.Length); 
      } 
     </a> 
    </li> 
    } 
</ol> 

我也曾嘗試IF條件中的以下卻又變化沒有運氣。

,,,,@:var str = q.Link; 
,,,,@:var n = str.lastIndexOf("."); 
,,,,@:var str1=str.Substring(n,str.lastIndexOf("/")) 
,,,,@:str1=str1.Substring(1,str1.Length); 

THX,

回答

1

你實際上只使用子字符串中的錯誤的方式。你可能想要

public static string SplitWord(string text, int length) 
{ 
    int slash = text.LastIndexOf("/"); 
    int dot = text.LastIndexOf("."); 
    return text.Substring(slash + 1, dot - slash); 
} 

試試看 - 可能需要對其中一個值使用另一個+1或-1,但這應該有所裨益。

+0

給了它一個去那裏,但它實際上現在https://snag.gy/ne2NP9.jpg去除串(嘗試了一些變化就像你說的) 謝謝 – denisjoconnor

0

你是對的(有像你說的一個小調整)....

我也試着這樣無論集成日期字段什麼日期用戶選擇,它總是會顯示當前的日期(上傳)。

是否有一個字符串進入datepicker字段的默認值來顯示'今日',而不是用戶必須在選擇器中單擊它? (再次混合的問題:))

@functions{ 

    public static string SplitWord(string text,DateTime datetime) 
    { 

     int slash = text.LastIndexOf("/"); 

     int dot = text.LastIndexOf("."); 

     dot--; 

     var data = text.Substring(slash + 1, dot - slash); 

     return data + " " + datetime.ToLongDateString(); 

    } 

} 
@{ 
    var all = AsDynamic(App.Data["CatFilter"]); 
} 
<ol> 
    @foreach (var q in AsDynamic(App.Data["CatFilter"])) 
    { 
    <li class="sc-element faq-set faq-setOne" data-tags="@String.Join(",", ((List<DynamicEntity>)q.Categories).Select(a => AsDynamic(a).EntityId))"> 
     @q.Toolbar @Edit.Toolbar(actions: "edit,new", contentType: "CatFilter") 
     <a class="faq-question" style="cursor: pointer"> 
      @if(!String.IsNullOrEmpty(q.LinkText)) 
      { 

     @q.LinkText 
      } else { 
       @SplitWord(q.Link,q.Date); 
      } 
     </a> 
    </li> 
    } 
</ol> 

UPDATE

這是我申請SplitWord功能,但會導致錯誤你們的另一個模板。我看不出從上面工作正常的代碼的任何區別。

這是我指的是代碼:

@using ToSic.SexyContent 

@* put all necessary link/script tags here *@ 
@RenderPage("_Shared - Assets.cshtml", new { parts = "styles,scripts,height"}) 

@{ 
    // get helper commands 
    var Helpers = CreateInstance("_Helpers.cshtml"); 
} 
    @functions{ 
     public static string SplitWord(string text) 
     { 
      int slash = text.LastIndexOf("/"); 
      var data = text.Substring(slash + 1); 
      return data; 
     } 
    } 
<div class="clearfix"> 
    <div class="co-container-outer"> 
     <div class="co-container-inner row co-navigation [email protected](Dnn.Module.ModuleID) co-navigation-icon co-navigation-text"> 
      @foreach (var Content in AsDynamic(Data["Default"].List)) 

      { 
       var linkInfo = Helpers.LinkInfos(Content.Link, Content.Window, Content.Icon); 

       <div class="col col-xs-12 col-sm-6 col-md-4 sc-element"> 
        @Edit.Toolbar(Content) 
        @if(linkInfo.Found) 
        { 
         @:<a class="co-link-box" title="@Content.Title" href="@Content.Link" target="@linkInfo.Window"> 
        } 
        <div class="row"> 
         <div class="col-xs-2 text-center"> 
          <i class="co-icon text-primary co-icon fa @linkInfo.Icon" aria-hidden="true"></i> 
         </div> 
         <div class="col-xs-10"> 
          <h3>@Content.Link</h3> 
          <div class="co-ul"> 
           <a class="" title="@Content.Link" href="@Content.SubpageOne">@SplitWord(Content.SubpageOne)</a> 
          </div> 
          @if(!String.IsNullOrEmpty(Content.Link)) 
          { 
           <a href="@Content.Link)"><span class="text-primary"> 
            <!--<i class="glyphicon glyphicon-chevron-right text-primary" aria-hidden="true"></i>&nbsp;--> 
            @Content.LinkText</span></a> 
          } 
         </div> 
        </div> 
        @if(linkInfo.Found) 
        { 
         @:</a> 
        } 
       </div> 
      } 
     </div> 
    </div> 
</div> 

<script> 
    /* Call syncHeightResponsive here - makes sure that sync height also works after ajax reload */ 
    $("[email protected](Dnn.Module.ModuleID) .col").syncHeightResponsive(); 
</script>