首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用CSHTML页面调用控制器的MVC方法

用CSHTML页面调用控制器的MVC方法
EN

Stack Overflow用户
提问于 2019-08-23 07:42:38
回答 1查看 1.5K关注 0票数 0

我在C#中有一个简单的Web应用程序。

在Index.cshtml文件中,我想插入一个按钮,当我点击它时,调用我的Controller的一个方法。

所以我写了这段代码:

代码语言:javascript
运行
复制
<div class="row" style="float:left;width:100%;height:100%;">
        <div class="col-md-12" style="width:100%;height:100%;">
            @using (Html.BeginForm("action", "IndexController"))
            {

                <input type="submit" value="Create" />

            }
        </div>
    </div>

在我的控制器中,我构建了以下代码:

代码语言:javascript
运行
复制
[HttpPost]
public ActionResult MyAction(string button)
{
  return View("TestView");
}

但是,如果我试图单击按钮,应用程序就不会调用方法MyAction。

EN

回答 1

Stack Overflow用户

发布于 2019-08-23 07:55:44

ASP.NET MVC约定要求使用操作名称,而控制器名称减去" controller“,因此,由于操作方法的名称为"MyAction”,而控制器的名称为"IndexController",因此,请按如下方式更新调用:

代码语言:javascript
运行
复制
@using (Html.BeginForm("MyAction", "Index"))

基于注释的更新:

要向操作方法发送文本以满足string button参数,可以在表单中包括如下输入字段:

代码语言:javascript
运行
复制
@using (Html.BeginForm("MyAction", "Index"))
{
    <input type="text" name="button"/>
    <input type="submit" value="Create" />
}

注意,文本字段的name属性是“按钮”以匹配string button参数名称。

  • 我建议,按钮以外的其他名称可能不错,但是无论参数的名称是什么,具有匹配的name属性的输入字段都将为该参数提供值。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57621831

复制
相关文章

相似问题

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