第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

通過控制器操作填充下拉列表

通過控制器操作填充下拉列表

C#
Qyouu 2023-07-22 16:03:53
我必須dropdown list從 a填充 a List<string>,其中鍵等于顯示的值。我來提取這些值,我做了各種測試來連接View但沒有成功。給出提取值的代碼:public async Task<IActionResult> PopulateDropDownList(){    try    {        var items = await DocumentDBRepository<CosmosDBTelemetry>.GetDeviceIds();        List<string> deviceids = new List<string>();        foreach(var item in items)        {            deviceids.Add(item.deviceId);        }        return View();      }      catch (Exception e)      {        throw (e);     }}剩下的事有人能幫我嗎?
查看完整描述

2 回答

?
慕妹3146593

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊

在模型-視圖-控制器 (MVC) 框架中,控制器的工作是將模型傳遞給視圖。假設(shè)您的字符串列表items已正確填充,控制器需要將其傳遞給視圖。

首先,您需要區(qū)分操作和輔助方法。操作是控制器類中的公共方法。用戶可以通過 URL 訪問操作,因此在您的情況下,http://application_name/controller_name/PopulateDropDownList將是有效的 URL,盡管這對(duì)用戶來說毫無意義。相反,您需要?jiǎng)?chuàng)建PopulateDropDownList一個(gè)輔助方法,如下所示:

private async Task<IEnumerable<string>> GetDropdownOptionsList()

{

? List<string> items = ...;

? return items;

}

然后,從 URL 操作調(diào)用幫助程序,例如


public async Task<IActionResult> View()

{

? List<string> items = await GetDropdownListOptions();

? return View(items);

}

您可能希望查看此文檔以獲取有關(guān)控制器操作的信息。


其次,該View()方法構(gòu)造視圖并將其發(fā)送給用戶,但默認(rèn)情況下,它不傳遞任何數(shù)據(jù)。View(items)您可以通過調(diào)用而不是將字符串列表傳遞到視圖View()。然后,您的視圖將如下所示:


@model IEnumerable<string>


<select>

? @foreach (string item in Model)

? {

? ? <option value="@item">@item</option>

? }

</select>

該@model IEnumerable<string>指令指定視圖需要將字符串列表傳遞到視圖中。迭代@foreach (string item in Model)列表中的每個(gè)字符串并option為每個(gè)字符串生成一個(gè)元素。


如果需要將多個(gè)數(shù)據(jù)模型傳遞到視圖中,可以使用ViewBag或ViewData對(duì)象。只需像這樣添加ViewBag.Items = items;到您的方法中:PopulateDropDownList


private async void PopulateDropDownList()

{

? List<string> items = ...;

? ViewBag.Items = items;

}

那么你的視圖將如下所示:


<select>

? @foreach (string item in (IEnumerable<string>)ViewBag.Items)

? {

? ? <option value="@item">@item</option>

? }

</select>


查看完整回答
反對(duì) 回復(fù) 2023-07-22
?
一只甜甜圈

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊

你有兩個(gè)選擇。


選項(xiàng)1


從控制器檢索數(shù)據(jù)并從剃刀頁面訪問它。


MyController.cs


public async Task<IActionResult> PopulateDropDownList()

{

    var items = await 

                DocumentDBRepository<CosmosDBTelemetry>.GetDeviceIds();

                List<string> deviceids = new List<string>();

    foreach(var item in items)

    {

     deviceids.Add(item.deviceId);

    }

    ViewData["deviceids"] = deviceids;


    return View();

}

MyViewPage.cshtml


<select>

        <option value="">Select an option</option>

      @foreach (string deviceid in ((List<string>)ViewData["deviceids"]))

      {

        <option value="@deviceid">@deviceid</option>

      }

    </select> 

選項(xiàng)2


直接從 razor 頁面檢索和訪問數(shù)據(jù)。


MyViewPage.cshtml


@Code

    var items =  DocumentDBRepository<CosmosDBTelemetry>.GetDeviceIds();

    List<string> deviceids = new List<string>();

    foreach(var item in items)

     {

     deviceids.Add(item.deviceId);

     }

End Code


<select>

    <option value="">Select an option</option>

  @foreach (string deviceid in deviceids)

  {

    <option value="@deviceid">@deviceid</option>

  }

</select> 


查看完整回答
反對(duì) 回復(fù) 2023-07-22
  • 2 回答
  • 0 關(guān)注
  • 151 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)