如何在发布后选择下拉列表的值(剃刀)

时间:2013-06-19 18:39:02

标签: sql razor drop-down-menu webmatrix selected

我在表单中有这个下拉列表,它显示了一个从数据库调用的名称列表。每当我选择一个并提交表单时,页面将刷新以显示结果,并且所选值将返回空白。发布表单后,有没有办法保留选定的值?

    <li class="form-line form-line-column" id="id_22">
    <label class="form-label-top" id="label_22" for="input_22"> ADMIN </label>
    <div id="cid_22" class="form-input-wide">       
    <select name="formAssigned_To">
    <option></option>  
    @foreach(var row in db.Query("SELECT DISTINCT Name FROM Admins")){    
    <option value="@row.Name">@row.Name</option>
    }
      </select>
      </div>
      </li>

我在同一个表单中有另一个下拉列表,这个是静态的,因此不会从数据库中调用它并且选定的值保持不变。但是,我不能对第一个下拉列表做同样的想法,为什么?

   <li class="form-line form-line-column" id="id_22">
        <label class="form-label-top" id="label_22" for="input_22"> Status </label>
        <div id="cid_22" class="form-input-wide">
          <select class="form-dropdown" style="width:75px" id="input_22" name="formCase_Status">
            <option selected="@(Request["formCase_Status"])"></option> 
            <option selected="@(Request["formCase_Status"] == "In Progress")" value="In Progress"> In Progress </option>
            <option selected="@(Request["formCase_Status"] == "Pending")" value="Pending"> Pending </option>
            <option selected="@(Request["formCase_Status"] == "Closed")" value="Closed"> Closed </option>
          </select>
        </div>
      </li>

2 个答案:

答案 0 :(得分:0)

在帖子上我将值保存回数据库然后我使用JQuery来选择合适的值。这很方便,因为我使用相同的屏幕进行编辑模式和添加模式,在编辑模式下,它选择保存在数据库中的默认屏幕。如果您想知道如何将值输入和输出数据库,这是一个很棒的教程:http://www.asp.net/web-pages/tutorials

这是我的JQuery:

 <script type="text/javascript">
  $('[name="programslist"]').val("@programid");
 </script>

这是填充列表的HTML:

 <label for="programslist">Division:Program</label>
    <select name="programslist" id="programslist">
      @foreach(var row in programsListData)
      {
         <option value="@row.id">@row.Name</option>
      }
      </select> 

我希望这有帮助!

答案 1 :(得分:0)

这就是我解决问题的方法:

<select class="form-dropdown" style="width:130px" id="formAssigned_To" name="formAssigned_To"> 
 <option selected =""></option>
 <option selected="@(Request["formAssigned_To"] == "Not Assigned")" value="Not Assigned">Not Assigned</option>
@{foreach(var row in db.Query("SELECT DISTINCT Name FROM Admins")){    
 <option selected="@(Request["formAssigned_To"] == row.Name)" value="@row.Name">@row.Name</option>
  }
  }
</select>

除此之外没什么对我有用,我希望它能帮助别人!