簡體   English   中英

選擇下拉列表顯示其下的數據字符串。 在MVC中

[英]Select dropdownlist display string of data under it. In MVC

如何在選定的下拉列表值下獲取字符串值?

var SiteResponse = repository.Sites.GetAll();

SiteResponse.result返回一些參數“地址”,“名稱”和“ ID”

ViewBag.SiteName = SiteResponse.Result.Select(x => new SelectListItem
            {
                Text = x.Name,
                Value = x.Id.ToString()
            }).ToList();

我將名稱和ID放入下拉列表mvc視圖@Html.DropDownList("Name", (IEnumerable<SelectListItem>)ViewBag.SiteName, new { @class = "form-control" })

我想在另一個元素中顯示所選dropdownlist值的地址。 我該怎么做? 是Jquery還是任何其他C#方法

您應該偵聽SELECT元素的change事件,獲取所選的選項值(所選站點的ID),並通過該ID向服務器進行ajax調用。 讓服務器返回地址(以及所需的其他信息)。 您的ajax方法的成功/完成事件可以使用返回的數據來更新DOM。

假設您的頁面中有一個ID為"address"的元素,您想在其中顯示所選站點的地址,則可以將(基本)URL保留為action方法,該方法將所選站點ID的地址返回為html 5。數據屬性。

 @Html.DropDownList("Name", (IEnumerable<SelectListItem>)ViewBag.SiteName, 
                new { @class = "form-control" , @data_addressurl=Url.Action("GetAddress")})
<div id="address"></div>

以及用於處理select元素上的change事件的javascript代碼

$(function(){

  $("#Name").change(function(){

     var siteId = $(this).val(); 
     var url = $(this).data("addressurl");

     $.get(url + "?id=" + siteId, function (data) {
            $("#address").html(data);
     });

  });

})

假設GetAddress接受siteId並返回地址

public ActionResult GetAddress(int id)
{
   //to do : Get Address from Id and return
   return Json("110 William St 28th Floor,New York",JsonRequestBehavior.AllowGet);
}

在這里,我返回一個簡單的字符串。 您還可以返回一個對象,並在ajax成功回調內部,根據需要訪問特定屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM