从视图按钮调用Mvc控制器方法

时间:2015-06-23 03:57:18

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

我正在尝试从视图中的Button调用Controller方法。

控制器:

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?

3 个答案:

答案 0 :(得分:1)

以下内容应该有效。

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

请参阅此处的kendo ui文档

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

答案 1 :(得分:1)

我刚刚在下面添加了它,它正在运行。

控制器:

[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>

答案 2 :(得分:0)

如果您不想使用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>
    }