我有这个ViewModel:
<form name"formsubmit" method="POST">
并且在View中,用户可以像这样添加一些tage:
public string Title { get; set; }
public string Description { get; set; }
public int City { get; set; }
book,story,c#,...
Li
中的所有标记。
如何在ActionResult中获取所有标记值。
我在Google上搜索但无法找到任何结果。
我认为在模型中添加UL
并且所有li名称都相同?那样做吗?
我喜欢这样的HTML:
List
更新
我使用此脚本将标签添加到 <li class="tag-item">one</li>
<li class="tag-item">two</li>
<li class="tag-item">three</li>
:
UL
但在Li值中显示 $("#txttag").keydown(function (e) {
var value = $(this).val();
if (value.length >0 && e.which==13)
{
var markup = "<li class='tag-item'> @Html.HiddenFor(x => x.Tags)" + value + "<a class='tag-close'>X</a></li>";
$("#taglist").append(markup);
$(this).val('');
}
});
答案 0 :(得分:1)
您需要将值发布到操作结果中。将列表添加到模型中:
public string Title { get; set; }
public string Description { get; set; }
public int City { get; set; }
public List<string> Tags { get; set; }
更改Javascript代码以包含隐藏input
字段中的值:
var markup = "<li class='tag-item'><input type='hidden' name='Tags' value='" + value + "' />" + value + "<a class='tag-close'>X</a></li>";
您的代码不会设置隐藏字段的value=""
参数,但会使用上面的代码。