Asp.net mvc 3 无法获取下拉列表上的值为剑道下拉列表选择的值

Asp.net mvc 3 无法获取下拉列表上的值为剑道下拉列表选择的值,asp.net-mvc-3,kendo-ui,Asp.net Mvc 3,Kendo Ui,基本上,我想要实现的是我有一个名为New的按钮和一个名为const的dropdownlist按钮。当前,dropdownlist从数据库中正确填充。我现在的问题是,当我选择dropdowlist值并单击new按钮时,它当前没有选择所选值 //看法 <input id="btnNewOpt" type="button" value="New" style="width:50px"/> @(Html.Kendo().DropDownList() .

基本上,我想要实现的是我有一个名为New的按钮和一个名为const的dropdownlist按钮。当前,dropdownlist从数据库中正确填充。我现在的问题是,当我选择dropdowlist值并单击new按钮时,它当前没有选择所选值

//看法

    <input id="btnNewOpt" type="button" value="New" style="width:50px"/>

     @(Html.Kendo().DropDownList()
          .HtmlAttributes(new { @Style = "font-size:12px; width:255px" })
          .Name("const")
          .DataTextField("OptName")
          .DataValueField("OptID")
          .OptionLabel("Select option name")
          .DataSource(source =>
          {
              source.Read(read =>
              {
                  read.Action("GetTypeStatus", "Index");
              });
          })

       )


    $(document).ready(function () {

          $('#btnNewOpt').click(function (e)
          {
              var dropdownlist = $("#const").data("kendoDropDownList");

          }

        });

//controller:
  public JsonResult GetTypeStatus()
        {
            var consumerStatus = new HEntities();

            return Json(consumerStatus.vwCStatus.Select(c => new { OptID = c.OptID, OptName = c.OptName, OptiTypeID = c.OptiTypeID })
                .OrderBy(c => c.OptName), JsonRequestBehavior.AllowGet);


        }

@(Html.Kendo().DropDownList())
.HtmlAttributes(新的{@Style=“font size:12px;宽度:255px”})
.名称(“常数”)
.DataTextField(“OptName”)
.DataValueField(“OptID”)
.OptionLabel(“选择选项名称”)
.DataSource(source=>
{
source.Read(Read=>
{
read.Action(“GetTypeStatus”、“Index”);
});
})
)
$(文档).ready(函数(){
$('btnNewOpt')。单击(函数(e)
{
var dropdownlist=$(“#const”).data(“kendoDropDownList”);
}
});
//控制器:
公共JsonResult GetTypeStatus()
{
var consumerStatus=新HEntities();
返回Json(consumerStatus.vwCStatus.Select(c=>new{OptID=c.OptID,OptName=c.OptName,opttypeid=c.opttypeid})
.OrderBy(c=>c.OptName),JsonRequestBehavior.AllowGet);
}

在全局范围内定义剑道下拉列表,然后在单击手柄中通过调用value()访问所选值

add select()立即添加它

//创建剑道下拉列表并引用它

var mydropdown = $("#const").data("kendoDropDownList").select();   

// onclick ... get the value from kendo dropdown
$('#btnNewOpt').click(function (e){
 var selectedValue = mydropdown.value();
} 

试试这些选项

(一)

(二)

(三)


谢谢你的回答,bobby。但是如果你在DropDown中选择不同的值,它仍然会得到值=1的事件。我不确定为什么“var mydropdown”是在处理程序之外定义的。不必如此。这不会正确执行。在mydropdown上找不到:。value()。鲍比的解为我得到了正确的值。
var mydropdown = $("#const").data("kendoDropDownList").select();   

// onclick ... get the value from kendo dropdown
$('#btnNewOpt').click(function (e){
 var selectedValue = mydropdown.value();
} 
$(document).ready(function () {

          $('#btnNewOpt').click(function (e)
          {
              var dropdownlist = $("#const").data("kendoDropDownList").value.toString();

          }

        });
$(document).ready(function () {

                  $('#btnNewOpt').click(function (e)
                  {

                   var dropdownlist = $("#const").data("kendoDropDownList")[0].form.const.value;

                  }

                });
$(document).ready(function () {

                      $('#btnNewOpt').click(function (e)
                      {
                        var dropdownlist = $("#const").val();            
                      }

                    });