处理.net MVC应用程序中的按钮点击/从cshtml页面调用控制器

本文关键字:cshtml 控制器 调用 MVC net 应用程序 按钮 处理 | 更新日期: 2023-09-27 17:49:21

我正在MVC web应用程序上工作,不确定我应该在哪里添加代码来处理按钮单击。我有一个由控制器呈现的cshtml视图。当显示视图时,我需要处理正在显示的几个按钮-例如打印,电子邮件等。我应该在哪里添加我的代码来处理这些,你能给我一个如何实现它的例子吗?

<input id="save-button" type="submit" class="btn btn-primary" onclick="submitOrder();" value="Print Order" />

我需要处理的是submitOrder()调用

处理.net MVC应用程序中的按钮点击/从cshtml页面调用控制器

1。如果你的按钮没有发送回表单,你可以这样调用控制器:

    <input type="button" value="Something" onclick="location.href='@Url.Action("ActionName", "ControllerName")'" />

这个方法有几个重载,其中一些接受更多的参数。

2。如果您要发回一个表单,并且您的输入按钮在该表单中,那么您的输入按钮将发回控制器。

默认mvc应用程序中的登录页面有我上面提到的两个选项的示例。

这是该页的一部分:

     <section id="loginForm">
        @using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class =     "form-horizontal", role = "form" }))
        {
            @Html.AntiForgeryToken()
            <h4>Use a local account to log in.</h4>
            <hr />
            @Html.ValidationSummary(true)
            <div class="form-group">
                @Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
                <div class="col-md-10">
                    @Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })
                    @Html.ValidationMessageFor(m => m.UserName)
                </div>
            </div>
            <div class="form-group">
                @Html.LabelFor(m => m.Password, new { @class = "col-md-2 control-label" })
                <div class="col-md-10">
                    @Html.PasswordFor(m => m.Password, new { @class = "form-control" })
                    @Html.ValidationMessageFor(m => m.Password)
                </div>
            </div>
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <div class="checkbox">
                        @Html.CheckBoxFor(m => m.RememberMe)
                        @Html.LabelFor(m => m.RememberMe)
                    </div>
                </div>
            </div>
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Log in" class="btn btn-default" />
                </div>
            </div>
            <p>
                @Html.ActionLink("Register", "Register") if you don't have a local account.
            </p>
        }
     </section>

你也有几个使用JQuery Ajax调用控制器的选项。不过这有点复杂。