새 게시물을 제출하는 사용자가 사전 정의 된 태그 중 일부를 해당 게시물과 연관시킬 수있는 간단한 블로그 응용 프로그램을 개발 중입니다. 예술이 나는이 목적을 위해 사용하고 싶은 정말 아닌 사용자가 선택할 수 있도록하는 것을 선호합니다, 그러나@ HTML.dropdownlist와 동일한 체크 박스가 있습니까?
: 현재
, 사용자는 드롭 다운리스트를 사용하여 여러 태그 (Ctrl 키를 잡고)을 선택할 수 있습니다 일련의 체크 박스에서 원하는 태그 또는 더 나은 버튼을 선택할 수 있습니다. 이 유사하게 :등 상응하는 HTML 도우미는 존재 하는가?
내 작업 코드 드롭 다운 목록은 참조 용으로 아래에 있습니다.
보기 :
<div class="form-group">
@Html.DropDownList("TagId", (MultiSelectList)ViewBag.Tags, new { multiple = "multiple" })
</div>
CONTROLLER :
_context 두 테이블, 포스트와 태그를 포함하는 내 데이터베이스입니다.
public ActionResult Add()
{
var tags = _context.Tags.Select(c => new {
TagID = c.TagID,
Type = c.Type
}).ToList();
ViewBag.Tags= new MultiSelectList(tags, "TagID", "Type");
return View();
}
[AcceptVerbs("POST")]
public ActionResult Add()
{
string TagId= Request["TagID"];
var tagids = TagId.Split(',');
foreach (var tagid in tagids)
{
var id = int.Parse(tagid);
Tag tag = _context.Tags.Where(ct => ct.TagId== id).First();
post.Tags.Add(tag);
}
//Save our post
_context.Post.Add(post);
_context.SaveChanges();
return View();
}
다른 제안 사항도 특히 감사드립니다. 특히 감사드립니다.
없음. 그러나 자신 만의'HtmlHelper' 확장 메소드를 쉽게 작성할 수 있으며 웹에서 찾을 수있는 몇 가지 플러그인이있을 것이라고 확신합니다. 예를 들어 [CheckBoxList.Mvc] (https://github.com/stephenzeng/ CheckBoxList.Mvc) –
보조 노트로 'DropDownList()'를 사용하여 다중 선택 을 생성하지 마십시오. ListBoxFor()를 사용해야합니다 ([this answer] (https://stackoverflow.com/questions) 참조)./40725358/why-does-the-dropdownlistfor-lose-the-multiple-selection-after-submit-but-the-li/40732481 # 40732481) 설명을 위해) –