首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正确的运行服务器语法使用MVC 6 .net核心和引导程序的按钮

正确的运行服务器语法使用MVC 6 .net核心和引导程序的按钮
EN

Stack Overflow用户
提问于 2016-11-11 12:15:59
回答 1查看 2.3K关注 0票数 1

我想知道如何创建一个简单的按钮操作,在MVC 6核心web应用程序与引导。因此,例如,我可以执行sql存储过程,或者只是从服务器检索一个日期,或者根据请求从服务器代码中检索其他数据,并在文本框中显示它。特别是我喜欢知道最少的代码,没有花哨的装饰。

代码语言:javascript
运行
复制
<asp:???  input type="button" runat="server" onclick="btn_Click" class="btn btn-default">

或者也许

代码语言:javascript
运行
复制
<div>
<button type="button" class="btn btn-default" runat="server" onclick="btn_Click">
</div>

这也许是一个简单的问题,但我对如何在MVC-6,而不是在旧版本或asp页中应该如何做感到困惑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-14 15:33:20

它不再被称为MVC 6。现在是ASP.NET Core1.0。Runat=“服务器”不用于ASP.NET Core1.0,因为它不支持web,而是依赖于ASP.NET模式。出于同样的原因,也没有onclick属性。

所以你的按钮看起来可能是:

代码语言:javascript
运行
复制
<button type="submit" class="btn btn-default">Click Here</button>

控制器上的操作方法看起来可能如下:

代码语言:javascript
运行
复制
    [HttpPost]
    public IActionResult Post() {
        /*do work here*/

        return View();
    }

全例

在注释中,您要求提供一个示例,说明如果窗体上有多个按钮,则如何判断单击了哪个按钮。下面是一个示例:

/Views/example/index.cshtml

代码语言:javascript
运行
复制
<html>
    <body>
        <form asp-controller="example" asp-action="Index">
            <label>Value:</label><input name="someValue" type="text" maxlength="10" />
            <button name="btnOne" type="submit" class="btn btn-default">Click One</button>
            <button name="btnTwo" type="submit" class="btn btn-default">Click Two</button>
        </form>
    </body>
</html>

/Controllers/example/ExampleController.cs

代码语言:javascript
运行
复制
using Microsoft.AspNetCore.Mvc;

namespace App.Web.Controllers {

    public class ExampleController: Controller {

        public ExampleController() {

        }

        [HttpGet]
        [Route("/example/")]
        public IActionResult Index() {
            return View();
        }


        [HttpPost]
        [Route("/example/")]
        public IActionResult Index(string someValue) {
            string buttonClicked = "";


            if(HttpContext.Request.Form.ContainsKey("btnOne")) {
                buttonClicked = "btnOne";
            } else if(HttpContext.Request.Form.ContainsKey("btnTwo")) {
                buttonClicked = "btnTwo";
            }

            return View("Index");
        }

    }
}

您可以在ASP.NET Core:https://learn.microsoft.com/en-us/aspnet/core/mvc/views/working-with-forms中了解更多有关表单的信息

与webforms相比,它们具有惊人的灵活性,但最初的学习曲线更陡峭一些。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40547822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档