【问题标题】:Mvc controller method call from view button从视图按钮调用 Mvc 控制器方法
【发布时间】:2015-06-23 03:57:18
【问题描述】:

我正在尝试从视图中的按钮调用控制器方法。

控制器:

public ActionResult DownloadTemplate()
{       
    return View("DownloadTemplate");
}

[HttpPost]
public ActionResult onclick()
{
    Console.WriteLine("clicked");
    return View();
}

查看:

<td class="rightalign">
   <span class="leftalign">                               
        @(Html.Kendo().Button()
          .Name("btnBlankTemplate")
          .HtmlAttributes(new { type = "button", @class = "k-primary" })
          .Content("Blank Template"))
   </span>

如何通过单击查看按钮调用onclick() 方法?

如果 Kendo MVC 不支持,我该如何使用简单的 Button?

【问题讨论】:

  • 你可以用javascript来做这个
  • 这是填写的MVC form。控制器中具有相应视图的方法称为操作,可以是 called

标签: c# asp.net asp.net-mvc


【解决方案1】:

以下应该可以工作。

                         @(Html.Kendo().Button()
                         .Name("btnBlankTemplate")
                         .HtmlAttributes(new { type = "button", @class = "k-primary" })
                         .Content("Blank Template"))
                         .onclick(ev => ev.Click("onClick")))

请参阅此处的剑道 ui 文档

http://demos.telerik.com/aspnet-mvc/button/events

【讨论】:

  • 我正在使用事件。并在 JavaScript 中给出 URL。还是行不通。你能告诉我要在 JavaScript 中包含什么吗?
【解决方案2】:

我刚刚在下面添加,它正在工作。

控制器:

[HttpPost]
public ActionResult BlankTemplate()
{
    Console.WriteLine("clicked");
    return View();
}

查看:

<script>
    BlankTemplate = function () {            
            $.ajax({
                url: _rootUrl + "Controller/BlankTemplate",
                data: {                   
                },
                type: "POST"
            });
        }
</script>

<span class="leftalign">
<input type="button" id="btnBlankTemplate" class="k-button" value="Blank Template" onclick="BlankTemplate();" />
</span>

【讨论】:

    【解决方案3】:

    如果您不想使用 Ajax,只需使用 Html.beginform() 传递值。

    controller:
    
    public ActionResult DownloadTemplate()
    {
      //To Do
    }
    
    View:
    @using (Html.BeginForm("DownloadTemplate", "Controller", FormMethod.Post}))
        {
           <span class="leftalign">
           <input type="submit" id="btnBlankTemplate" class="k-button" value="Blank Template"/>
          </span>
        }
    

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多