Вид не возвращается из контроллера - PullRequest
0 голосов
/ 22 октября 2019

Я хочу перенести данные с помощью функции 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>

Ответы [ 2 ]

0 голосов
/ 26 октября 2019

Я думаю, что для вашей цели нет необходимости вызова 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+'&currentamt='+currentamt;
   }  
 }

и в контроллере

public ActionResult ComfirmPay(string e, string TaxType, string CurrentAmt)
{
  ViewBag.TotalAmt = e;
  ViewBag.CurrentAmt = CurrentAmt;            
  ViewBag.TaxType = TaxType;            
  return View();
}
0 голосов
/ 26 октября 2019

Удалите функцию ajax и сделайте это

window.location.href = "@Url.Action("ComfirmPay", "Home")" + "?e=" + e + "&taxtype=" + taxtype + "&currentamt=" + currentamt

Комментарий к этой записи объясняет немного больше о том, почему то, что вы пытаетесь сделать, не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...