我當前的專案是基于 MVC 的。我很驚訝從 SQL Server 資料庫中填充 select 元素。控制器正在接收資料表物件中的資料庫資料。此資料需要在頁面加載時系結到 HTML 選擇元素。對此的任何幫助表示贊賞。控制器代碼 GET 方法動作
// GET: SearchPopulate
[HttpGet]
public ActionResult SearchHome()
{
SearchPopulateMaster empPopulate = new SearchPopulateMaster();
empPopulate.emp = PopulateEmps();
return View();
}
private static List<SelectListItem> PopulateEmps() {
List<SelectListItem> items = new List<SelectListItem>();
DataTable localdt = new DataTable();
localdt = DALAcess.getDataFromSql("SELECT id,AgentName from [atmcolle_COMM_U88].[dbo].ATM_M_empMaster");
return items;
}
查看代碼 .cshtml 檔案
<form asp-controller="SearchHome" asp-action="SearchHome">
<!--Non-hardcoded retrieved from Database-->
<select name="selEmp" id="selEmp">
<option>Please select one</option>
</select>
<input type="submit" />
<!--Non-hardcoded retrieved from Database-->
uj5u.com熱心網友回復:
似乎您正在嘗試將您的資料庫系結Data到HTML dropdown (HTML Select Tag)正在使用entity framework的資料庫中。
您可以嘗試以下步驟:
Model:
假設我有這樣的模型:
public class Agent
{
[Key]
public int Id { get; set; }
public string AgentName { get; set; }
}
Controller:
public ActionResult BindHtmlSelectElement()
{
//Bind Dropdown
List<Agent> agent = PopulateEmps();
ViewBag.Agent = new SelectList(agent, "Id", "AgentName");
return View();
}
View:
@model MVCApps.Models.Agent
@{
ViewData["Title"] = "BindHtmlSelectElement";
}
<h4><strong>BindHtmlSelectElement</strong> </h4>
<hr />
<div class="form-group">
<label class="control-label col-md-2">Agent</label>
<div class="col-md-10">
<select asp-items="ViewBag.Agent" value="" class="form-control" asp-for="Id"></select>
</div>
</div>
Output:

注意: 在您的
PopulateEmps方法中回傳您的代理串列。并且要注意約定,我將 id 設定為Id小心,同時替換它以消除任何錯誤。
Update:
您也可以嘗試訪問您的Agent查詢,如下所示
public List<Agent> QueryBuilder()
{
using (var connection = new SqlConnection("Server=ServerName;Database=YouDatabaseName;Trusted_Connection=True;MultipleActiveResultSets=true"))
{
List<Agent> viewModeList = new List<Agent>();
await connection.OpenAsync();
var command = connection.CreateCommand();
command.CommandText = "SELECT id,AgentName from [atmcolle_COMM_U88].[dbo].ATM_M_empMaster";
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Agent viewModel = new Agent();
viewModel.Id= reader["id"].ToString(); // Remember to convert property in correct format
viewModel.AgentName = reader["AgentName"].ToString();
viewModeList.Add(viewModel);
}
reader.Close();
command.Dispose();
connection.Close();
return viewModeList;
}
}
Update The Controller Like Below:
public ActionResult BindHtmlSelectElement()
{
//Bind Dropdown
List<Agent> agent = QueryBuilder();
ViewBag.Agent = new SelectList(agent, "Id", "AgentName");
return View();
}
希望以上步驟可以相應地指導您實作目標。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/355033.html
標籤:asp.net-mvc asp.net核心 asp.net-mvc-4 asp.net-mvc-3
