我想通过onclick函数将数据携带到下一页。通过提供参数来携带所有数据,但不会从控制器返回View。请帮我。我在这里停留了两天,这是我的学校项目。
OnClick按钮:
<div class="row">
<div class="col-sm-4"></div>
<button class='btn bg-blue next' onclick="checkamt(@Model.TotalAmt)">Next</button>
</div>
控制器:
public ActionResult ComfirmPay(int e = 0, string TaxType = null, int CurrentAmt = 0)
{
ViewBag.TotalAmt = e;
ViewBag.CurrentAmt = CurrentAmt;
ViewBag.TaxType = TaxType;
return View("ComfirmPay");
}
Ajax:
function checkamt(e) {
var amount = @ViewBag.CurrentAmt;
if (amount < e) {
alert('bad');
window.location.href = 'http://localhost:22822/Home/PayTax';
}
else {
alert('good');
$.ajax({
cache: false,
url: '@Url.Action("ComfirmPay", "Home")',
data: { e: e, taxtype: taxtype, currentamt: currentamt },
beforeSend: function () {
},
success: function () {
},
complete: function () {
}
})
}
}
查看:
<div class="col-md-9 col-xs-9">
<p class="text-muted">You have total <b class="text-green">@ViewBag.CurrentAmt</b> points</p>
</div>
答案 0 :(得分:0)
删除ajax函数并执行
window.location.href = "@Url.Action("ComfirmPay", "Home")" + "?e=" + e + "&taxtype=" + taxtype + "¤tamt=" + currentamt
在this上发表的评论进一步说明了您尝试执行的操作为何无效的原因。
答案 1 :(得分:0)
我认为出于您的目的,无需进行ajax调用。您可以按以下方式使用window.location.href
function checkamt(e) {
var amount = @ViewBag.CurrentAmt;
if (amount < e) {
window.location.href = 'http://localhost:22822/Home/PayTax';
}
else {
window.location.href = '/Home/ComfirmPay?e='+e+'&taxtype='+taxtype+'¤tamt='+currentamt;
}
}
和控制器
public ActionResult ComfirmPay(string e, string TaxType, string CurrentAmt)
{
ViewBag.TotalAmt = e;
ViewBag.CurrentAmt = CurrentAmt;
ViewBag.TaxType = TaxType;
return View();
}