jeffybanjo Ответов: 0

Как получить выпадающий список на основе другого выпадающего списка MVC VB.NET


Я прошел через этот учебник и преобразовал его для своего VB.Чистое использование,

https://www.c-sharpcorner.com/UploadFile/4d9083/creating-simple-cascading-dropdownlist-in-mvc-4-using-razor/

Тем не менее, я получаю сообщение об ошибке [объект Object], Я перепробовал все, что мог, чтобы отладить, но никакого прогресса, я не поклонник javascript, я пришел из webform и никогда не должен был писать никаких сценариев, пожалуйста, кто-нибудь может помочь, так как я уже запасся проектом и нахожусь более чем на 93% завершенным! только этот выпадающий список, есть ли еще какие-то альтернативы? Заранее спасибо. Вот мой код

Контроллер

Что я уже пробовал:

Контроллер
Public Function PullStates(ByVal id As Integer) As JsonResult  
  
            Dim states = db.States.Where(Function(s) s.CountryCode = id).[Select](Function(s) New With   
           {  
            Key .Text = s.Descrip,   
            Key .Value = s.Code  
            })  
            Return Json(New SelectList(states, "Value", "Text"))  
  
        End Function  


Возвращение Смотреть()
Конечная Функция

'GET: Region/Create  
        Function Create() As ActionResult  
            ViewBag.Code = "AUTO"  
  
  
            ViewBag.Country = db.Countries.[Select](Function(c) New SelectListItem With  
            {  
                .Text = c.Descrip,  
                .Value = c.CountryCode  
            })  
  
              
            Return View()  
        End Function  

ВИД
@Html.DropDownList("Country", CType(ViewBag.Country, IEnumerable(Of SelectListItem)), "--Select Country--", htmlAttributes:=New With {.class = "tb8"})  


@Html.DropDownList("State", New SelectList(String.Empty, "Value", "Text"), "--Please Select State--", htmlAttributes:=New With {.class = "tb8"})  


СКРИПТ

<script src="~/Scripts/ddl/jquery-1.7.1.js" type="text/javascript"></script>  
<script src="~/Scripts/ddl/jquery-1.7.1.min.js" type="text/javascript"></script>  
<script type="text/javascript">  
$(document).ready(function () {  
        //Dropdownlist Selectedchange event  
        $("#Country").change(function () {  
            $("#State").empty();  
            $.ajax({  
                type: 'POST',  
                url: '@Url.Action("PullStates")', // we are calling json method  
                dataType: 'json',  
                data: { id: $("#Country").val() },  
                success: function (states) {  
                    // states contains the JSON formatted list  
                    // of states passed from the controller  
                    $.each(states, function (i, state) {  
                        $("#State").append('<option value="' + state.Value + '">' + state.Text + '</option>');  
                    }); // here we are adding option for States  
                },  
                error: function (ex) {  
                    alert('Failed to retrieve states.' + ex);  
                }  
            });  
            return false;  
        })  
    });  
</script>   

0 Ответов