none
关于字符串太长的问题 RRS feed

  • 问题

  • 我在页面中有这样的一个字段。

       <div class="display-label">ThumbnailUrl</div>

        <div class="display-field">

            @Html.DisplayFor(model => model.ThumbnailUrl)

        </div>

    但model.ThumnailUrl太长,放不小,搞得排在他后面的字段都显示不下了,有没办法把这个固定长度或者超出长度之后用省略号显示啊。


    video edit
    2011年10月27日 15:14

答案

  • 我是想在页面用JS能不能做的啊?不想在后代代码里写。
    video edit

    以下是用jQuery的范例,请注意粗体字追加的部份

     

    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script> 
    <script type="text/javascript">
    
         $(document).ready(init);
    
         function init() 
         {
             var str = $("#myId").text();
             str = $.trim(str);
             str = str.length>10? str.substring(0,10):str;
             $("#myId").text(str + "...");
         }
     
     </script>
    
           <div class="display-field" id="myId" >
            @Html.DisplayFor(model=>model.ThumbnailUrl)
           </div>
    


     

     


    Shadowと愉快なコード達

    • 已编辑 Shadow .Net 2011年10月28日 18:50
    • 已标记为答案 Tony2008 2011年10月29日 3:36
    2011年10月28日 18:48

全部回复

  • 你好

    或者你可以嘗試寫一個If Statement 來解決這個問題

    E.G.

    string s = "abc";
    
    Console.WriteLine(s.Substring(0,s.Length>10?10:s.Length));
    


    Please correct me if my concept is wrong


    Chi
    • 已建议为答案 TerryChuang 2011年10月27日 22:00
    2011年10月27日 20:37
  • 我是想在页面用JS能不能做的啊?不想在后代代码里写。
    video edit
    2011年10月28日 2:17
  • 我是想在页面用JS能不能做的啊?不想在后代代码里写。
    video edit

    以下是用jQuery的范例,请注意粗体字追加的部份

     

    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script> 
    <script type="text/javascript">
    
         $(document).ready(init);
    
         function init() 
         {
             var str = $("#myId").text();
             str = $.trim(str);
             str = str.length>10? str.substring(0,10):str;
             $("#myId").text(str + "...");
         }
     
     </script>
    
           <div class="display-field" id="myId" >
            @Html.DisplayFor(model=>model.ThumbnailUrl)
           </div>
    


     

     


    Shadowと愉快なコード達

    • 已编辑 Shadow .Net 2011年10月28日 18:50
    • 已标记为答案 Tony2008 2011年10月29日 3:36
    2011年10月28日 18:48
  • 这个不行啊,DisplayFor会调用TextBox,但上面的直接调用"myId"没起作用啊。
    video edit
    2011年10月29日 3:23
  • 这个不行啊,DisplayFor会调用TextBox,但上面的直接调用"myId"没起作用啊。
    video edit


    如果要抓TextBox(<input type='text' />)的字符串的话

    您也可以改用

     

    <script type="text/javascript">

         $(document).ready(init);

         function init()
         {
             var str = $("#TextBox的id").val();
             str = $.trim(str);
             str = str.length>10? str.substring(0,10):str;
             $("#TextBox的id").val(str + "...");
         }

    </script>


    Shadowと愉快なコード達

    2011年10月29日 6:22