asp.net core razor element 下拉
后台:
//声明
public List<SelectListItem> _tpe { get; set; } = new();
public string tpe { get; set; } _tpe = ManageHelper.DropSelectTblDis("fz_jishiben", "tpe", "1=1", _db);//下拉前台:
data() {
return {
form: {tpe:"@Html.Raw(Model.tpe)"},//绑定当前选择
tpe_options: @Html.Raw(System.Text.Json.JsonSerializer.Serialize(Model._tpe)),下拉:
<el-form-item> <el-select v-model="form.tpe" id="tpe" placeholder="选择学校" size="large" clearable filterable style="width:220px;"> <el-option v-for="item in tpe_options" :key="item.Value" :label="item.Text" :value="item.Value"> </el-option> </el-select> <input type="hidden" name="tpe" :value="form.tpe"> </el-form-item>
接口:
#region 通用select /// <summary>
/// 普通表通用下拉框,读取distinct字段
/// </summary>
/// <param name="tbl">表名</param>
/// <param name="fld">要下拉的字段,只能一个字段</param>
/// <param name="wherstr">where 条件,没有请填写:1=1</param>
/// <param name="Db">数据库注入连接: private readonly SqlSugar.ISqlSugarClient _db;</param>
/// <returns></returns>
public static List<SelectListItem> DropSelectTblDis(string tbl, string fld, string wherstr, SqlSugar.ISqlSugarClient Db)
{
var dt = Db.Ado.GetDataTable("select distinct(" + fld + ") from " + tbl + " where " + wherstr + " order by " + fld + " asc"); var SelectListItem = new List<SelectListItem> { }; if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
SelectListItem.Add(new SelectListItem { Value = dt.Rows[i][fld].ToString(), Text = dt.Rows[i][fld].ToString() }); }
}
return SelectListItem; }
#endregion