Как получить выпадающий список на основе другого выпадающего списка 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>