【发布时间】:2020-06-19 05:14:19
【问题描述】:
我正在尝试将字符串数组发布到 Razor Pages 项目中的发布操作。为此,我考虑使用隐藏的<select> 标签。用户将在文本框中输入文本,按一个按钮,然后我将向<select> 添加一个新选项,然后使用提交按钮发布整个内容。但是,在发布完所有内容后,我的模型的数组属性为空。
有谁知道是否有更好的方法或我做错了什么?
剃须刀:
<form method="post">
<input id="string-value" />
<input type="button" id="add-item" value="Add item" />
<select asp-items="@Model.Model.ArrayOfStrings" id="hidden-select"></select>
<table id="table-items">
</table>
<input type="submit" value="Submit" />
</form>
public class ArrayModel
{
public List<SelectListItem> ArrayOfStrings { get; set; } = new List<SelectListItem>();
}
public class IndexModel : PageModel
{
[BindProperty]
public ArrayModel Model { get; set; }
public void OnGet()
{
Model = new ArrayModel();
}
public void OnPost()
{
System.Diagnostics.Debugger.Break();
}
}
JS:
$('#add-item').on('click', function () {
debugger;
var value = $('#string-value').val();
$('#hidden-select').append(new Option(value, value));
$('#table-item tr:last').after('<tr><td>' + value + '</td></tr>')
});
可以在here找到存储库。
【问题讨论】:
标签: razor-pages asp.net-core-3.1