如何从 Select2() 下拉列表中将 ItemName 推送到我的数据库 (SQL)
How can I push ItemName to my database(SQL) from Select2() dropdown list
我是 asp.net 剃须刀页面上的新人
这是我的Html
<div class="form-group row">
<div class="col-4">
<select class="form-control" id="itemslist" name="itemName" asp-items="Model.Itemslist">
<option value="SSS"></option>
</select>
<input class="form-control" type="hidden" name="itemName"asp-for="Expiree.ItemName" />
<br />
<br />
@if (ViewData["Message"] != null)
{
<script type="text/javascript">
window.onload = function ()
{
alert("@ViewData["Message"]");
};
</script>
}
</div>
这是我的脚本部分
@section scripts
{
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js"></script>
<script type="text/javascript">
$(function () {
$("#itemslist").select2();
});
$("body").on("change", "#itemslist", function () {
$("input[name=itemName]").val($(this).find("option:selected").text());
});
</script>
}
这是我的页面模型
namespace SparkAuto.Pages.Expire
{
public class CreateeModel : PageModel
{
private readonly ApplicationDbContext _db;
public CreateeModel(ApplicationDbContext db)
{
_db = db;
}
public SelectList Itemslist { get; set; }
[BindProperty]
public Expiree Expiree { get; set; }
public IActionResult OnGet()
{
this.Itemslist = new SelectList(_db.Items, "Id", "Name");
return Page();
}
public async Task<IActionResult> OnPostAsync()
{
_db.Expiree.Add(Expiree);
await _db.SaveChangesAsync();
return RedirectToPage("Index");
}
}
}
最后这是我的错误,我在数据库的 itemName 中得到 Null
这是我使用的可搜索 select2 下拉列表的屏幕截图
我在此下拉列表中搜索了 3K 个项目,选择后需要推送项目名称
您可以使用select绑定Expiree
的id,绑定ItemName
隐藏输入:
过期:
public class Expiree {
public int ItemId { get; set; }
public string ItemName { get; set; }
}
html:
<select class="form-control" id="itemslist" asp-for="Expiree.ItemId" asp-items="Model.Itemslist">
<option value="SSS"></option>
</select>
<input class="form-control" type="hidden" asp-for="Expiree.ItemName" />
js:
@section scripts
{
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js"></script>
<script type="text/javascript">
$(function () {
$("#itemslist").select2();
});
$("body").on("change", "#itemslist", function () {
$("#Expiree_ItemName").val($(this).find("option:selected").text());
});
</script>
}
我是 asp.net 剃须刀页面上的新人
这是我的Html
<div class="form-group row">
<div class="col-4">
<select class="form-control" id="itemslist" name="itemName" asp-items="Model.Itemslist">
<option value="SSS"></option>
</select>
<input class="form-control" type="hidden" name="itemName"asp-for="Expiree.ItemName" />
<br />
<br />
@if (ViewData["Message"] != null)
{
<script type="text/javascript">
window.onload = function ()
{
alert("@ViewData["Message"]");
};
</script>
}
</div>
这是我的脚本部分
@section scripts
{
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js"></script>
<script type="text/javascript">
$(function () {
$("#itemslist").select2();
});
$("body").on("change", "#itemslist", function () {
$("input[name=itemName]").val($(this).find("option:selected").text());
});
</script>
}
这是我的页面模型
namespace SparkAuto.Pages.Expire
{
public class CreateeModel : PageModel
{
private readonly ApplicationDbContext _db;
public CreateeModel(ApplicationDbContext db)
{
_db = db;
}
public SelectList Itemslist { get; set; }
[BindProperty]
public Expiree Expiree { get; set; }
public IActionResult OnGet()
{
this.Itemslist = new SelectList(_db.Items, "Id", "Name");
return Page();
}
public async Task<IActionResult> OnPostAsync()
{
_db.Expiree.Add(Expiree);
await _db.SaveChangesAsync();
return RedirectToPage("Index");
}
}
}
最后这是我的错误,我在数据库的 itemName 中得到 Null
这是我使用的可搜索 select2 下拉列表的屏幕截图
我在此下拉列表中搜索了 3K 个项目,选择后需要推送项目名称
您可以使用select绑定Expiree
的id,绑定ItemName
隐藏输入:
过期:
public class Expiree {
public int ItemId { get; set; }
public string ItemName { get; set; }
}
html:
<select class="form-control" id="itemslist" asp-for="Expiree.ItemId" asp-items="Model.Itemslist">
<option value="SSS"></option>
</select>
<input class="form-control" type="hidden" asp-for="Expiree.ItemName" />
js:
@section scripts
{
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js"></script>
<script type="text/javascript">
$(function () {
$("#itemslist").select2();
});
$("body").on("change", "#itemslist", function () {
$("#Expiree_ItemName").val($(this).find("option:selected").text());
});
</script>
}