[转载]ASP.NET MVC中页面中进行自定义文字截取

[转载]ASP.NET MVC中页面中进行自定义文字截取 – peter cheng – 博客园.

效果如下:

其实截取方法跟aspx页面中一样,不管是用C#还是js或者CSS都可以实现,

我在这里只是想记录在MVC中怎么用的两种方法:

方法一:

先新建一个类

然后编写以下方法:

<span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">HtmlHelpers</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> </span><span class="typ">Truncate</span><span class="pun">(</span><span class="kwd">this</span><span class="pln"> </span><span class="typ">HtmlHelper</span><span class="pln"> helper</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> input</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> length</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">input</span><span class="pun">.</span><span class="typ">Length</span><span class="pln"> </span><span class="pun">&</span><span class="pln">lt</span><span class="pun">;=</span><span class="pln"> length</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> input</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">else</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> input</span><span class="pun">.</span><span class="typ">Substring</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"..."</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span>

在web.config中此处进行注册

添加以下信息:

 

最后就是在View页面中用了:

<span class="pun"><%:</span><span class="pln"> </span><span class="typ">Html</span><span class="pun">.</span><span class="typ">Truncate</span><span class="pun">(</span><span class="pln">item</span><span class="pun">.</span><span class="typ">Title</span><span class="pun">,</span><span class="pln"> </span><span class="lit">25</span><span class="pun">)</span><span class="pln"> %> (MVC2写法)
 
@Html.Truncate(item.Artist.Name, 25) (MVC3写法)
</span>

方法二(MVC3):

直接在View页面中:

<span class="lit">@helper</span><span class="pln"> </span><span class="typ">Truncate</span><span class="pun">(</span><span class="kwd">string</span><span class="pln"> input</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> length</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">input</span><span class="pun">.</span><span class="typ">Length</span><span class="pln"> </span><span class="pun"><=</span><span class="pln"> length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="lit">@input</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="lit">@input</span><span class="pun">.</span><span class="typ">Substring</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> length</span><span class="pun">)<</span><span class="pln">text</span><span class="pun">>...</</span><span class="pln">text</span><span class="pun">></span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span>

然后调用这个方法:

<span class="lit">@Truncate</span><span class="pun">(</span><span class="pln">item</span><span class="pun">.</span><span class="typ">Artist</span><span class="pun">.</span><span class="typ">Name</span><span class="pun">,</span><span class="pln"> </span><span class="lit">25</span><span class="pun">)</span>
赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

登录

注册