2015-06-04 2 views
0

У меня есть простой представить вход:Бритва ввода с двумя действиями

@using (Html.BeginForm()) 
{ 
     <input type="submit" value="Save" id="SaveButton" class="btn" /> 
} 

А теперь я хочу, чтобы сделать эту кнопку также хотлинк. Когда я нажимаю на нее, я хочу перейти к действию «X».

Я попытался с:

onclick="location.href='@Url.Action("Index", "Student")'" 

Но он представляет только изменения и обновить фактическую страницу. Переадресация работает, если вход за пределами @using (...), но это, конечно, не помогает мне.

+0

Именно поэтому я понимаю, вы пытаетесь отправить форму, используя две кнопки, которые идут на два разных действия? –

+0

Я хочу использовать одну кнопку для отправки изменений и перенаправления на другой сайт. – Lubudubu1010

+2

Сделайте обычный submit и в методе POST 'return RedirectToAction (« .. ' –

ответ

1

Что бы я сделать, это отправить форму с помощью JavaScript:

В вашей форме декларации добавить onsubmit обработчик события

@using (Html.BeginForm("Index", "Home", FormMethod.Post, new 
{  
    onsubmit = "javascript:onFormSubmit(this); return false;" 
})) 
{ 
    <!-- your form --> 
} 

Тогда onsunmit Javascript функция отправки формы, как это:

function onFormSubmit(form) 
{ 
    var data = new FormData($(form)[0]); 
    if ($(form).valid()) 
    { 
      $.ajax({ 
       url: $(form).attr('action'), 
       cache: false, 
       processData: false, 
       contentType: false, 
       data: data, 
       type: 'POST', 
       error: function(jqXHR, textStatus, errorThrown) 
       { 
        throw new Error('Cannot get action'); 
       } 
      }).done(function(view) 
      { 
       // redirect here.... 
      }); 
     } 
} 

Если вы не хотите делать это таким образом, в вашем указателе, а не возврате View, выполните следующие действия:

return Redirect("http://www.google.com");// or any url you want 

Другой способ перенаправить к другому действий, как так:

return RedirectToAction("RedirectAction"); 

Затем добавьте другое действие в контроллере под названием «RedirectAction».

public ActionResult RedirectAction() 
{ 
    // Do some stuff 
    return Redirect("http://www.google.com");// or any url you want 
} 

Надеюсь, это поможет.

Смежные вопросы