【问题标题】:How get value and text of selected item in dropdownlist on server&如何在服务器的下拉列表中获取所选项目的值和文本&
【发布时间】:2015-03-05 17:30:50
【问题描述】:

在模型中我有这个属性

public List<SelectListItem> listikOFProducts = new List<SelectListItem>();

我填好了

var productList = from product in n.Products
                  select new { Name = product.ProductName, ID = product.ProductID };
foreach (var order in productList)
{
  newOrder.listikOFProducts.Add(new SelectListItem { Text = order.Name, Value = order.ID.ToString() });
}

在视图中我显示它

<% using(Html.BeginForm("View2","Order"))
{  %>
  <div>
    <%: Html.DropDownList("drop",Model.listikOFProducts) %>
  </div>
  <input type="submit" name="button" value="Add" /> 
<% } %>

如何在控制器的下拉列表中获取所选项目的文本。 DropDownList 中选中项的值我知道。

[HttpPost]
public ActionResult View2(NorthOrder q, string button)
{
  if (button == "Add")
  {
    string strDDLValue = Request.Form["drop"].ToString();//ID of dropdown selected  item
    return View();
  }

【问题讨论】:

    标签: c# asp.net asp.net-mvc


    【解决方案1】:

    在 post 方法上使用您的 id 再次获取值

    [HttpPost]
     public ActionResult View2(NorthOrder q,int drop, string button)
     {
                  if (button == "Add")
           {
    string strDDLValue= db.Products.FirstOrDefault(_=>_.ProductID == drop).ProductName;
    
                           return View();
       }
    }
    

    【讨论】:

    • 好的。我可以做到,但另一种方式。如果我正确理解,如果不查询数据库就无法做到?
    • 您可以使用 javascript 在下拉更改时设置隐藏字段的值,但我认为这不是一个好习惯
    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 2023-03-29
    • 2011-04-02
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多