使用Razor将控件动态添加到HTML表

时间:2019-03-07 20:04:31

标签: javascript html asp.net-mvc razor

我正在尝试将选择分配给字符串变量。使用:

var h1 = '<td>@Html.DropDownList("idControlClass", new SelectList(Model.FooList), htmlAttributes: new { @class = "form-control" })</td>';

结果为“未捕获到的SyntaxError:无效或意外的令牌”,因为代码段导致在关闭选项标签后出现换行符的字符串。

有没有一种方法可以将上面代码生成的选择分配给没有换行符的变量?还是其他获得相同结果的方法?

1 个答案:

答案 0 :(得分:0)

您过去的SelectList但期望List<SelectListItem>

尝试

@{
    List<SelectListItem> lstControlClass = new List<SelectListItem>();
    foreach (var item in Model.FooList)
    {
        lstControlClass.Add(new SelectListItem() { Text = item.Id , Value = item.Name  })
    }
}
var h1 = '<td>@Html.DropDownList("idControlClass", lstControlClass, htmlAttributes: new { @class = "form-control" })</td>';

或者您需要将键设置为“文本和值”

var h1 = '<td>@Html.DropDownList("idControlClass", new SelectList(Model.FooList, "Id","Name"), htmlAttributes: new { @class = "form-control" })</td>';