簡體   English   中英

限制DropDownList中的字符數

[英]Limit the number of characters in DropDownList

我想限制DropDownList中顯示的字符數:

@Html.DropDownList("domaines", Model.Domaines, new { @class = "form-control", @id = "domaines", autocomplet = "autocomplet",maxlength = 21 })

這是場景:

  1. 如果字符數<= 18 :則顯示整個單詞
  2. 否則,如果字符數> 18 :將顯示前18個字符,並以省略號(...)開頭。

我怎樣才能做到這一點?

您需要先准備好模型,然后再將其發送到視圖。 需要將IEnumerable<SelectListItem>傳遞給DropDownList() ,而不是您自己的type 您可以為此使用SelectList(IEnumerable, string, string)構造函數

如何截斷.NET字符串中已回答如何用省略號截斷字符串? Ellipsis帶C#(以完整詞結尾)

在您的控制器中:

// ... initialize model.

foreach (var domainModel in model.Domaines)
{
    // Assuming the display member you want to truncate is called `DisplayString`.
    // See linked questions for Truncate() implementation.
    domainModel.DisplayString = domainModel.DisplayString.Truncate(18); 
}

// Assuming the `Domaines` type has a `Value` member that indicates its value.
var selectList = new SelectList(model.Domaines, "Value", "DisplayString");

// Add a `public SelectList DomainSelectList { get; set; }` to your model.
model.DomainSelectList = selectList;

return View(model);

您認為:

@Html.DropDownList("domaines", Model.DomainSelectList, new { ... }) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM