#c# #asp.net-mvc
#c# #asp.net-mvc
Вопрос:
Я написал несколько js, которые добавляют html с определенным идентификатором:
document.querySelector("#period").addEventListener("change", function () {
var selectedOptionValue = this.options[this.selectedIndex].value;
var closestElement = this.closest('th');
if (selectedOptionValue == 'Invoices') {
$("<div id='date1'>Date from: <input class='form-control datepicker' id='dateFrom' name='dateFrom' type='date' value=''></div>").appendTo(closestElement);
$("<div id='date2'>Date to: <input class='form-control datepicker' id='dateTo' name='dateTo' type='date' value=''></div>").appendTo(closestElement);
} else {
var dateFrom = document.querySelector('#date1');
var dateTo = document.querySelector('#date2');
dateFrom.remove();
dateTo.remove();
}
});
Я пытаюсь передать идентификатор (DateFrom, DateTo) из этого добавляемого с помощью dnamically html в контроллер (я инициализирую эти параметры нулевым значением при запуске страницы):
public ActionResult XYZ(DateTime? dateFrom = null, DateTime? dateTo = null) ...
К сожалению, всегда передаются нулевые значения. Возможно ли вообще передать идентификатор контроллеру из динамически вставляемого html?
РЕДАКТИРОВАТЬ: ниже я добавляю код просмотра, где я показываю, как я отправляю идентификатор контроллеру:
@using (Html.BeginForm("XYZ", "Home", FormMethod.Get))
{
<th>
@Html.DropDownList("period", new List<SelectListItem>
{
new SelectListItem { Text="Today", Value="Today"},
new SelectListItem { Text="LastMonth",Value="LastMonth"}, "Choose period"})
<button type="submit" class="szukaj"><i class="fa fa-search"></i></button>
</th>
//...more code here
Я добавляю входные данные даты, поэтому отправляю их идентификаторы контроллеру. Или, может быть, я что-то делаю неправильно?
Комментарии:
1. На момент отправки не имеет значения, был ли HTML-код добавлен динамически. Вопрос в том, какой метод вы используете для передачи этого значения контроллеру?
2. хорошо, я добавил некоторый код просмотра, пожалуйста, взгляните.
3. Вместо добавления / удаления этих полей, почему бы не создать их обычным образом с помощью помощников HTML (как вы делали с выпадающим списком) и просто сделать их скрытыми, а затем показывать / скрывать их по мере необходимости? Потребуется меньше кода и будет более удобным в обслуживании. И, возможно, у вас будет меньше проблем с привязкой