2015-06-17 2 views
0

Я пытаюсь получить верхнее значение строки в ASP.NET MVC. На данный момент у нас есть куча путей к файлам в базе данных с именем файла для части файла, и мы хотим отобразить только имя файла. IE, а не http://intranet/level1/level2/level3/level4/filename.pdf, например, нам просто нужно имя файла .pdf. В ASP мы использовали UBound, это то же самое, что и Upperbound? На данный момент это 10 мест, но в будущем это может быть более или менее. Получение верхней границы и печать означает «10», а не filename.pdf есть ли способ получить значение?Получение верхней границы строки

Код выглядит следующим образом:

 <td> 
     @{ 
var TheLink = item.BulletinFile; 
var TheSplit = TheLink.Split('/'); 
var SplitName = TheSplit.GetUpperBound(0); 
     } 
     @Html.DisplayFor(modelItem => item.BulletinFile) 

    </td> 
+0

'.pdf' не имя файла. –

+0

Я знаю, что «filename.pdf» - пример. –

ответ

3

Если вы хотите, только имя файла использовать Path -класса, особенно Path.GetFileName:

string url = "http://intranet/level1/level2/level3/level4/filename.pdf"; 
string fileName = Path.GetFileName(url); // filename.pdf 

Просто, чтобы ответить на вопрос, как он был задан , вы: :String.Split

string fileName = url.Split('/').Last(); 
+0

Это сработало отлично, спасибо! –

0

Если вы используете строку, которую вы можете использовать

var lastdot = text.LastIndexOf('.'); 
var lastslash = text.LastIndexOf('/') + 1; 
string s = text.Substring(lastslash,lastdot- lastslash); 
Смежные вопросы