嗨,我想要@ html.displayfor中的字符串的子串(modelItem => item.resumelink)

时间:2016-03-11 09:38:17

标签: asp.net-mvc templates substring display displayfor

大家好我是mvc的新手,我正在开发一个项目...在我的视图中,我需要在@html.DisplayFor(modelItem=> item.resumelink).

中获取字符串的子字符串

我尝试过像

这样的事情
    <span>
        @Html.LabelFor(modelItem => item.ResumeLink,new {text=item.ResumeLink.Contains("#") ? item.ResumeLink.Substring(0, item.ResumeLink.IndexOf("#")) : item.ResumeLink })
    </span>

但它不起作用。

我正在尝试创建显示模板,但我不知道如何获取文件的最后一个索引,直到我想要裁剪我的字符串...任何帮助将不胜感激..笨蛋

3 个答案:

答案 0 :(得分:0)

@Html.ActionLink(modelItem => item.ResumeLink, modelItem => item.ResumeLink, new {text=modelItem => item.ResumeLink.Substring(0,2) }) 

这将生成一个像这样的网址

Controller/action/text=20    // i cut the value of 2014

答案 1 :(得分:0)

只需保持代码干净,这里使用的想法是..找到#的索引 然后找到.的索引并删除此索引范围内的所有字符。

<span>
     @{
        var filename = item.ResumeLink; 
        var actualFileName = filename.Contains("#") ? file.Remove(file.IndexOf('#'), (file.IndexOf('.') - file.IndexOf('#'))) : filename ; 
      }
     @Html.LabelFor(modelItem => item.ResumeLink,new {text= @actualFileName })
  </span>

结果 如果item.ResumeLink = us#fb40c127-9501-40ad-807c-9b8216348005.docx

"us.docx"

答案 2 :(得分:0)

在视图中我写道              @ Html.DisplayFor(modelItem =&gt; item.ResumeSubString)

       @*<a href="#" /> <span>@Html.LabelFor(modelItem => item.ResumeLink,new {text=item.ResumeLink.Contains("#") ? item.ResumeLink.Substring(0, item.ResumeLink.IndexOf("#")) : item.ResumeLink })</span>*@
    </td>`

在课堂上有类似的内容

public string ResumeLink { get; set; }
    public string ResumeSubString
    {

        get
        {
            var filename = ResumeLink;
            var actualFileName = filename.Contains("#") ? filename.Remove(filename.IndexOf('#'), (filename.IndexOf('.') - filename.IndexOf('#'))) : filename;
            return actualFileName;
        }
    }

thnx reddy和那些懒得回答的人:)