#javascript #asp.net-core-mvc #asp.net-mvc-partialview
#javascript #asp.net-core-mvc #asp.net-mvc-partialview
Вопрос:
Я использую asp .net core 3, я добавляю несколько частичных файлов через javascript
function AddBill(type)
{ tag = "....."; // some div and a tags
$.get('/Glasses/DisplayFarBill?index=' farIndex,
function (partial) {
$('#FarSightedBillsSection').append(tag);
$('#farSighted' farIndex).append(partial);
$('#farSighted' farIndex).collapse('show');
farIndex ;
});
}
на главной странице я включаю некоторые js
файлы, с которыми работают некоторые элементы частичного просмотра :
<link rel="stylesheet" href="~/lib/md.bootstrappersiandatetimepicker/dist/jquery.md.bootstrap.datetimepicker.style.css" />
<script src="~/lib/md.bootstrappersiandatetimepicker/dist/jquery.md.bootstrap.datetimepicker.js" type="text/javascript"></script>
но когда я добавляю частичный просмотр с помощью javascript, он не распознает этот файл js, но когда я добавляю этот частичный просмотр с помощью кода (я имею в виду частичный тег), он распознает его
Я не хочу включать его в Partial, потому что у меня есть несколько экземпляров partial.
Ответ №1:
Вот демо-версия, которая работала:
Контроллер:
public IActionResult GetPartial()
{
return PartialView("_Partial");
}
public IActionResult TestPartial()
{
return View();
}
_Partial (частичный просмотр):
<input type="text" data-provider="datepicker" class="datepicker" style="width:200px;" />
TestPartial (главная страница):
<h1>TestPartial</h1>
<div id="items">
</div>
@section Scripts{
<link rel="stylesheet" href="~/lib/DatetimePicker/dist/datetimepicker.css" />
<script src="~/lib/DatetimePicker/dist/datatimepicker.js"></script>
<script type="text/javascript">
$(function () {
getPartial();
})
function getPartial() {
$.ajax({
url: '/Test/GetPartial',
dataType: 'html',
success: function (newItem) {
$(newItem).appendTo($('#items'));
$('.datepicker').MdPersianDateTimePicker({
dateFormat: 'yyyy-MM-dd',
isGregorian: false,
enableTimePicker: true
});
}
})
}
</script>
}
Если вы не можете его распознать, вы можете попробовать использовать F12, чтобы проверить Console
, есть ли у вас какая-либо ошибка в консоли?И проверьте Network
, равен ли статус css и js 200?
вы можете поместить css и js в _Layout.cshtml следующим образом:
Комментарии:
1. статус 304, и в консоли у него ошибка: ‘$ (…).MdPersianDateTimePicker не является функцией’. когда я включаю этот файл js для ‘MdPersianDateTimePicker’ в частичный, у меня нет ошибки
2. Итак, вы добавляете ` $(‘…’).MdPersianDateTimePicker` на главной странице? Я получаю css и js в github и datetimerpicker css, статус js равен 304, другой статус равен 200. И это может сработать. Если вы все еще не можете работать, вы можете попробовать поместить css и js в _Layout.cshtml в общую папку, как показано в моем ответе.
3. Я использовал section script, как вы сказали в вашем примере, и это сработало, спасибо, статус по-прежнему равен 304, но он работает.
4. Нужен другой способ. Это родительский просмотр для вызова javascript частичного просмотра. Он говорит, что функция не определена. Как это сделать