Почему JS показывает другое значение данных, чем HTML, когда данные извлекаются из БД
Так вот что происходит.
Я извлекаю данные из БД, чтобы показать их в приложении.
Я сохраняю его в ViewModel, и все данные там есть, так что никаких проблем с запросами или чем-то еще в бэкэнде нет.
Поэтому я использовал HTML-помощник для отображения данных.
@Модель.Выбранное транспортное средство.VehicleId
Когда я написал его на HTML, все было в порядке, как вы можете видеть здесь. http://imgur.com/7uZbAnr
Но проблема начинается, когда я пишу его с помощью JS (alert или console.log), потому что он каким-то образом или несколько изменяет значение данных, как вы можете видеть здесь. http://imgur.com/bFA9E6I
На экране журнала консоли show 12 - это VehicleId, который должен быть 0014, как вы могли видеть на скриншоте HTML, где 1234-это DriverId, и у меня нет проблем с его отображением в любом случае.
Я понятия не имею, как и почему это происходит, поэтому, если бы кто-нибудь мог объяснить мне, что может быть причиной этого, я был бы благодарен.
Что я уже пробовал:
Я пытался выяснить это сам, но не могу решить, потому что число 12 нигде не является БД.
На другом транспортном средстве, где Id равен 0000, JS записывает 0.
РЕДАКТИРОВАТЬ:
Контроллер:
[HttpPost] [Authorize] public ActionResult SelectedVehicle(DashboardViewModel model) { var userId = User.Identity.GetUserId(); var currentDriver = context.Drivers .Where(m => m.AccountId == userId && m.DriverId == model.DriverId) .Select(c => c) .FirstOrDefault(); var currentVehicle = context.Vehicles .Where(m => m.AccountId == userId && m.VehicleId == model.VehicleId) .Select(c => c) .FirstOrDefault(); var viewModel = new DashboardViewModel { currDriver = currentDriver, currVehicle = currentVehicle }; return View("Index", viewModel); }
модель представления:
public class DashboardViewModel { public DashboardViewModel() { this.currDriver = new Driver(); this.currVehicle = new Vehicle(); } public Driver currDriver { get; set; } public Vehicle currVehicle { get; set; } }
HTML часть которая работает нормально:
<div class="x_content"> Being tracked now: @Model.currVehicle.VehicleName @Model.currVehicle.VehicleId @Model.currVehicle.RegistrationPlates driven by @Model.currDriver.Firstname @Model.currDriver.Lastname </div>
JS часть:
<script> $('a.pick-this').on('click', function () { console.log(@Model.currVehicle.VehicleId); console.log(@Model.currDriver.DriverId); }); </script>
исходный код HTML:
<div class="x_content"> Being tracked now: Opel Tigra 0014 222-B-222 driven by Faris Karcic </div>
ИСТОЧНИК JS:
<script> $('a.pick-this').on('click', function () { console.log(0014); console.log(1234); }); </script>
Как я уже заметил, значения в JS верны, но почему я все еще получаю в консоли вместо 0014 номер 12?
Я просто хочу узнать, почему это происходит...
Sinisa Hajnal
Не удается получить доступ к изображениям. В общем, это плохая практика иметь случайные ссылки на форуме, так как люди, как правило, опасаются неизвестных источников.
Faris Karcic
Надеюсь, что теперь он доступен, я обновил его ссылками imgur
Richard Deeming
Обновите свой вопрос, чтобы показать соответствующие части вашего кода и фактический вывод, скопированный из опции браузера "просмотр источника".
F-ES Sitecore
Это происходит из-за ошибки в вашем коде.
Faris Karcic
Обновлено!
@F-ES Sitecore это кажется немного грубым, так как я уверен, что мой код в порядке, если я чего-то не знаю, я говорю, что это я и что я не знаю, как это сделать. Пожалуйста, не принимайте меня за идиота.