为什么DDL中的数字未正确传递给控制器

时间:2019-01-13 08:16:46

标签: asp.net-mvc

在视图中,我有一个dropdownlist控件,我可以通过jQuery调用函数来填充该控件,并且DDL已正确填充,并且到目前为止没有问题。

但是当我将DDL值传递给控制器​​时,如果该值是字母和数字,则不会传递数字值。

查看:

<div class="form-group col-md-6">
     <div class="col-md-10">
        <select id="DDLMachintypeID" name="DDLMachintypeID" class="form-control"></select>
    </div>
</div>

@section MyScripts

    <script type="text/javascript">
        $(function () {
            $('#MachineID').change(function () {
                var machineid = $(this).val();
                $.ajax({
                    type: "post",
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    url: "FillTypes",
                    data: "{MachinKindId:'" + machineid + "'}",
                    success: function (data) {
                        $('#DDLMachintypeID').empty();
                        $.each(data, function (i, d) {
                            $('#DDLMachintypeID').append('<option selected="selected" value=' + d + '>' + d + '</option>');
                        });
                    },
                    failure: function (data) {
                        alert('error occured');
                    }

                });
            });
        });
    </script>
End Section

并在控制器中:

Dim strDDL = Request.Form("DDLMachintypeID")

例如,如果我的下拉列表的选定值为A3,则在控制器中我得到A! 仅将字母数字字符串传递给控制器​​。我阅读的strDDL仅为A,而应该为A3。为什么?!

1 个答案:

答案 0 :(得分:0)

问题解决了 本节以以下格式编辑了jQuery代码:

   $.each(data, function (i, d ) {
                            $('#DDLMachintypeID').append('<option selected="selected" value="' + d + '">' + d + '</option>');
                        });