2015-07-03 76 views
0

我面對Kendo Grid Columns.Template和Ajax.BeginForm的奇怪問題。在Kendo Grid列外部呈現的Ajax.BeginForm

我有這樣的代碼

@(Html.Kendo().Grid(Model) 
     .Name("Monitoring") 
     .Columns(columns => 
     { 
      columns.Template(@<text> 

      @using (Ajax.BeginForm("HardReboot", "Admin", new { id = item.Id }, new AjaxOptions 
      { 
       OnSuccess = "Loaded", 
       OnFailure = "Failure" 
      })) 
      { 

       <input class="btn btn-default" type="submit" value="Hard Reboot" /> 
      } 


     </text>).Width(30); 
     } 
    )) 

當頁面呈現表單的HTML標記呈現外柱這樣

<form action="/admin/hardreboot?id=1185158" data-ajax="true" data-ajax-failure="Failure" data-ajax-success="Loaded" id="form0" method="post"></form> 

<div class="k-widget k-grid" id="Monitoring"><table><colgroup><col style="width:30px" /></colgroup><thead class="k-grid-header"><tr><th class="k-header" scope="col"><span class="k-link">&nbsp;</span></th></tr></thead><tbody><tr><td> 

       <input class="btn btn-default" type="submit" value="Hard Reboot" /> 





     </td></tr></tbody></table></div> 

任何想法,爲什麼?

回答

1

執行手動Ajax請求與jQuery.ajax()而不是把一個形式,因爲嵌套形式產生問題

0

不知道,但你可以使用自定義命令。

http://demos.telerik.com/kendo-ui/grid/custom-command

自定義命令呈現一個按鈕(您可以添加樣式),按下時調用javascript函數。在這個函數中你可以做你的ajax請求。

+0

我找不到任何例如如何從自定義命令調用JS,而在服務器模式。在我的情況下,自定義命令不適用於服務器模式。 – Tomas