Я пытаюсь предварительно заполнить поле ввода в модальном режиме.В настоящее время я нажимаю кнопку редактирования, которая вызывает функцию jQuery, которая выполняет вызов ajax
<script>
$(document).ready(function(){
$(".selectRow").click(function(e)
{
e.preventDefault();
var row = $(this).closest("tr"),
tds = row.find("td:nth-child(1)").first();
var textval = tds.text();
$.ajax({
url: "EditApplication?handler=GetRowInfo",
type: "POST",
dataType: "json",
data: { textval },
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
success: function () {
alert("success");
},
complete: function () {
$('#editAppModal').modal('show');
},
failure: function () {
alert("failure");
}
})
});
});
</script>
По завершении я показываю модальный режим.Эта функция jQuery вызывает в коде метод с именем GetRowInfo
, который захватывает ячейку из таблицы.
GetRowInfo
public void OnPostGetRowInfo(string textval)
{
Console.WriteLine("-----------------"+textval);
DutyWeb dutyWebManager = new DutyWeb();
textval = textval.Trim();
Console.WriteLine("-----------------NEW-"+textval);
selectedRow = dutyWebManager.SearchByApplication(textval);
ViewData["appName"] = textval;
}
Я присваиваю текстовое значение, отправленное в ViewData, какappName
Затем я назначаю входное значение текстового поля равным ViewData ["appName"
<div class="modal-body">
<input type="text" name="appName" id="appName" value='@ViewData["appName"]'>
<input type="text" name="appShortName" style="width:15%">
<br>
</div>
Я не знаю, если я делаю это неправильно, но мне это кажется правильным.Модал находится внутри элемента формы.Пошагово показало, что ViewData действительно хранит правильное значение, но оно не отображается в текстовом поле
Я бы хотел избежать использования jQuery для этого.Я чувствую, что ViewData - намного более простой способ выполнить ту же задачу