2015-06-23 3 views
1

Я пытаюсь вызвать метод контроллера с помощью кнопки в поле зрения.Способ вызова контроллера Mvc из кнопки вида

Контроллер:

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 не поддерживает, как я могу использовать простую кнопку?

+0

вы можете использовать JavaScript для этого – geo

+0

Является ли это [MVC форма] (http://stackoverflow.com/questions/24077308/mvc4-html-beginform-submit-button-in-internet-explorer-9 - не работает), который заполняется. Методы в вашем контроллере, имеющие соответствующее представление, называются действиями и могут быть [вызваны] (http://stackoverflow.com/questions/10753779/mvc-button-click-to -action) – lloyd

ответ

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

+0

Я использую события. И предоставление Url в JavaScript. Все еще не работает. можете ли вы сообщить мне, что включить в JavaScript. – Rockstar

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