Кнопка Отмена в форме

У меня есть кнопка отмены в форме:

@using (Html.BeginForm("ConfirmBid","Auction"))
        {
          some stuff ...

                    <input type="image" src="../../Content/css/img/btn-submit.png" class="btn-form" />
                    <input type="image" src="../../Content/css/img/btn-cancel.png" class="btn-form" />

        }

Проблема в том, что я хочу, чтобы эта кнопка переходила в определенный вид при нажатии на нее. Как мне это сделать?

Ответы на вопрос(9)

     <asp:Button runat="server" class="btn btn-danger"
       CausesValidation="false" onclick="Cancel_Click" Text="Cancel"/>


     protected void Cancel_Click(object sender, EventArgs e)
     {
        Response.Redirect("Test.aspx");
     }
 Niklas Wulff24 авг. 2018 г., 14:50
Это веб-формы, а не MVC

Chrome или т. Д., Но не во всех.

Это сработало во всех -

<input type="button" value="Cancel" onclick="location.href='@Url.Action("Index","Home")';"/>

чтобы снова использовать кнопку отмены. Я добавил JS-подтверждение на случай, если люди случайно нажмут кнопку «Отмена» после заполнения формы.

@helper FormCancelButton(string cancelUrl)
{
    <button type="button" class="btn" onclick="if (confirm('Cancel changes?')) location.href = '@cancelUrl';">Cancel</button>
}

Я тогда называю это так:

@FormCancelButton(Url.Action("Index", "User" ))

Если вы действительно заинтересованы, вы можете попробовать иобнаружить грязное состояние формы тоже и показывать диалог подтверждения, только если форма была изменена.

<a href="/Auction/[ActionName]">
    <input type="image" src="@Url.Content("~/Content/css/img/btn-cancel.png")" class="btn-form" />
</a>

вы можете сделать что-то вроде этого:

<a href="/Auction/[ActionName]">
    <input type="button" value="Cancel">
</a>

где[ActionName] это имя действия, которое вернет желаемый вид.

Это моя кнопка HTML:

<button type="button"
        class="btn btn-inverse"
        id="cancel"
        onclick="window.history.back()">
        <i class="icon-remove icon-large"></i>
        <br />@Localization.Cancel
</button>

Затем настроитьonclick атрибут в некоторых представлениях я делаю это:

<script>

    $(document).ready(function ()
    {
        $("#cancel").
            attr("onClick",
            "document.location.href='@Html.Raw(Url.Action("Index", "Standard",
             new { ManualId = Model.ManualId, ChapterId = Model.ChapterId }))'");
    });

</script>
 Baahubali28 июл. 2014 г., 09:04
классно! это работает. веселит.
 Leniel Maccaferri19 дек. 2016 г., 08:07
@MatthewLock - это строка локализации, полученная из файла .resx. Насчет перезагрузки, вы абсолютно правы ... это работает не во всех случаях, но это нормально.
 Matthew Lock19 дек. 2016 г., 06:20
Обратите внимание, что window.history.back () не будет работать, если форма будет перезагружена (постбэк). Это просто вернет вас к более ранней версии формы.
 Matthew Lock19 дек. 2016 г., 06:18
Что такое локализация. Отмена?

Или стилизованная кнопка отправки:

<input type="submit" value="Save Form" name="Save" class="submit-button btn-form" /> 

Затем Javascript для кнопки отмены:

<input type="button" onclick="document.location.href('Home/Index')" value="Cancel" class="cancel-button btn-form" />
// Note: This avoids any of the validation that may happen in the model that 
// normally gets triggered with a submit
<a href="@Url.Action("CancelBid", "Auction")"><img src="../../Content/css/img/btn-submit.png" class="btn-form" /></a>

с помощью приложения Shyju вы используете встроенный помощник MVC ActionLink. Для этого вам понадобятся картинки или иконки, сделанные через css. Однако это гораздо более кэшируется, особенно если вы используете строки base64 для своих изображений в css.

Мне нравится подход Adauto, потому что он дает вам гораздо больше контроля над разметкой. Помощники MVC Html хороши, но, похоже, они по-прежнему склонны думать о WebForms: «Не беспокойся об этом, мы позаботимся об этом за тебя».

Единственное, что я хотел бы добавить, это Url.Content.

<a href="@Url.Action("CancelBid", "Auction")"><img src="@Url.Content("~/Content/css/img/btn-submit.png" class="btn-form" /></a>

Это никогда не является хорошей идеей, чтобы заставить ваши представления знать местоположение контента относительно его местоположения.

 Adauto28 мар. 2012 г., 20:50
Спасибо! Я сосредоточился на ответе и забыл остальное (Url.Content).
Решение Вопроса

с помощью вспомогательного метода @ Html.ActionLink и применить класс css, который делает ссылку похожей на кнопку, а затем в действии контроллера для этой ссылки вы можете вернуть конкретное представление.

@Html.ActionLink("Cancel","Index","Products",null, new { @class="clsButtonFake"})

или же

Используйте 2 кнопки отправки в форме. Один для реального представления и один для отмены. и в вашем действии контроллера проверьте, какая кнопка вызвала метод действия. Вы можете прочитать больше об этомвот в этом ответе.

Ваш ответ на вопрос