or
@(Html.Kendo().Grid(Model) .Name("somegrid") .Columns(columns => { columns.Bound(Folder => Folder.ParentId).Template(@<text> <strong>@if (item.ParentId > 0) { <span>@callfunction(item.Name) (call some serverside function using item variable which returns string ( but not parentId another one ) )</span> } else { <span>@call some serverside function</span> } </strong> </text>); columns.Command(command => { command.Edit().Text("Güncelle").UpdateText("Güncelle").CancelText("İptal"); command.Destroy().Text("Sil"); }).Width(180); }) .ToolBar(toolbar => toolbar.Create().Text("Yeni kayit ekle")) .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("FolderEditPopup").DisplayDeleteConfirmation("Kaydı silmek istediğinizden emin misiniz ?")) .Pageable(pager => pager .Messages(messages => messages.Display("{0} - {1}. Toplam {2} kayıt") .ItemsPerPage("") .First("İlk sayfa") .Last("Son sayfa") .Next("Sonraki") .Page("Sayfa") .Previous("Önceki") .Refresh("Yenile")) ) .Sortable() .Scrollable() .Events(e => e.Edit("onEdit")) .DataSource(dataSource => dataSource .Ajax() .PageSize(100000) .Model(model => { model.Id(p => p.IntId); model.Field(p => p.ParentId).DefaultValue(0); }) .Events(events => events.Error("error_handler")) .Create(update => update.Action("FolderPopup_Create", "Config")) .Read(read => read.Action("FolderPopup_Read", "Config")) .Update(update => update.Action("FolderPopup_Update", "Config")) .Destroy(update => update.Action("FolderPopup_Destroy", "Config")) ) ).km-ios .km-button[disabled]{ color:#ccc; cursor:default;}.km-ios .km-button[disabled]:active{ color:#ccc; background-color:#7185A2; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3); -webkit-box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.3); cursor:default; }<button type="button" data-role="button" disabled="disabled">My button</button>

function onError(error, inputElement) { // 'this' is the form element var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"), replaceAttrValue = container.attr("data-valmsg-replace"), replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null; //replace = $.parseJSON(container.attr("data-valmsg-replace")) !== undefined; container.removeClass("field-validation-valid").addClass("field-validation-error"); error.data("unobtrusiveContainer", container); if (replace) { container.empty(); error.removeClass("input-validation-error").appendTo(container); } else { error.hide(); } var element = inputElement; // Set positioning based on the elements position in the form var elem = $(element), //corners = ['left center', 'right center'], corners = ['bottom left', 'top center'], flipIt = elem.parents('span.right').length > 0; // Check we have a valid error message if (!error.is(':empty')) { // Apply the tooltip only if it isn't valid elem.filter(':not(.valid)').qtip({ overwrite: false, content: error, position: { my: corners[flipIt ? 0 : 1], at: corners[flipIt ? 1 : 0], viewport: $(window) }, show: { event: false, ready: true }, hide: false, style: { classes: 'qtip-red' // Make it red... the classic error colour! } }) // If we have a tooltip on this element already, just update its content .qtip('option', 'content.text', error); } // If the error is empty, remove the qTip else { elem.qtip('destroy'); }}