[英]How to return a value from OnGet or OnPost method to in ajax
我有一个 c# class 像下面的示例代码
public IActionResult OnPostTranJarray(int transaction_number, string cardholder)
{
dynamic Trans = GetTransactions(transaction_number,cardholder);
return Trans;
}
或者
public JArray Transactions { get; set; }
public void OnGet(int transaction_number)
{
Transactions = GetTransactions(transaction_number);
}
只是想在 IndexModel Class 中进行后调用。 我在 jquery 中使用了以下代码
$.post("https://localhost:7197/Transactions?handler=TranJarray?transaction_number="+transactionNumb+"&cardholder="+cardHolderName, response => {
alert("response",response);
});
$.ajax({
type: "POST",
url: "https://localhost:7197/Transactions?handler=TranJarray?transaction_number="+transactionNumb+"&cardholder="+cardHolderName,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (data)
{
alert("success");
fnLoadTbl();
}
});
但它没有达到方法..但是如果我让 ajax GET 请求到 OnGet 方法,它会达到但没有返回任何值。 如果您有任何想法,请告诉我。 谢谢..
为了从您的OnGet
方法返回 JSON,请将返回类型从void
更改为IActionResult
并返回JsonResult
,例如:
public JArray Transactions { get; set; }
public IActionResult OnGet(int transaction_number)
{
Transactions = GetTransactions(transaction_number);
return new JsonResult(Transactions);
}
最后我通过做这些得到了解决方案
我们必须像这样创建 model class
public class PersonModel { [BindProperty] public int TransactionNumber { get; set; } [BindProperty] public string FormName { get; set; } }
2.创建了onpost方法
public void OnPostSubmit(PersonModel person)
{
this.trnTable = GetTransactions(person.TransactionNumber,
person.FormName);
}
3.在前端我们应该有一个 type="submit" 按钮在里面
<form id="statementId" method="post">
<div class="row">
<dl class=" col-2 dl-horizontal">
<div class="form-group" style="max-width: 200px;">
<label>Form</label>
<input id="form" name="FormName" type="text" class="form-control" placeholder="Form">
<i class="form-group__bar"></i>
</div>
</dl>
<dl class=" col-2 dl-horizontal">
<div class="form-group" style="max-width: 200px;">
<label>Transaction Number</label>
<input type="text" name="TransactionNumber" placeholder="Type" class="form-control" >
<i class="form-group__bar"></i>
</div>
</dl>
</div>
<input style="max-width: 100px;max-height: 40px;margin-left: 10px;" class="btn btn-primary" type="submit" value="Submit" asp-page-handler="Submit"/>
</form>
然后它完美地工作..但感谢那些试图回答它的人
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.