我正在尝试在模式中预先填充输入文本框。目前,我单击编辑按钮,该按钮将调用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是完成同一任务的简便得多的方法