剃刀:在选择框中获取所选项目的值

时间:2013-11-09 07:12:35

标签: razor umbraco html-select

我的视图中有一个选择框(这是一个umbraco局部视图),

<div class="select">                            
 @{
   var node = Umbraco.Content(1310);
   <select data-val="true" data-val-required="The PickOne field is required." id="PickOne" name="PickOne">
   <option value="">Pick One</option>
   @foreach (var item in node.Children.Where("Visible"))
   {
         <option value="@item.Name">
            @item.Name
         </option>
   }
   </select>
  }                                 
  </div>

如何在剃刀中获得上述下拉列表的选定值?

请帮忙,

感谢。

修改

我在剃须刀中获得了价值,但只有在提交后才显示

 var sLand = Request.Form["PickOne"];
 <p>@sLand</p>

如何让它变得动态(即在变化时)?

1 个答案:

答案 0 :(得分:1)

你需要一点javascript来提交表格onchange。这就是我目前用于项目的内容。

if ($('.select').length) {
    var drpDnwBox = $('.select select');
    drpDnwBox.on('change', function () { $(this).parents('form').submit(); });
}

现在为剃刀(我自己是新手)

<div class="select">                            
 @{

   var sLand = Request.Form["PickOne"];
   var node = Umbraco.Content(1310);

   <select data-val="true" data-val-required="The PickOne field is required." id="PickOne" name="PickOne">
   <option value="">Pick One</option>
   @foreach (var item in node.Children.Where("Visible"))
   {

        if (sLand.Contains(item.Name)) //using a contains 
        {
            selected = "selected=\"selected\"";
        }

         <option value="@item.Name" @selected>
            @item.Name
         </option>
   }
   </select>
  }                                 
  </div>