2017-02-14 23 views
1

Я пытался отобразить текстовый редактор Kendo UI, когда установлен флажок.
Однако это не работает, вы можете помочь мне ..Razor with kendoui text editor

@if (Model.IsAlert!=true) 
{ 
    <td>     
    @(Html.Kendo().Editor().Name("Explanation").HtmlAttributes(new { style = "display:show" }))    
    </td> 
} 
+0

Ваш текущий подход будет оценивать Model.IsAlert! = True при начальной загрузке экрана ... Возможно, вы захотите реализовать javascript/jquery, чтобы скрыть/показать текстовое поле на основе значения вместо этого? –

+1

Спасибо вам, Dieselmeyer, ваш подход сейчас работает ... :) – Radha

+0

Если он работает, не стесняйтесь отмечать его как ответ :) Рад, что вы получили его! –

ответ

0

Ваш текущий подход сделает только то, что/оценить Model.IsAlert на начальной загрузки экрана.

Я бы предложил удалить инструкцию if и по умолчанию использовать этот td для скрытия, а затем изменить это в зависимости от свойств модели с помощью обработчика события onChange, сопоставленного с вашим элементом управления флажком.

<td id="thingToHide" hidden="hidden"> 
@(Html.Kendo().Editor().Name("Explanation").HtmlAttributes(new { style = "display:show" }))    
</td> 

и некоторые JQuery код:

<script type="text/javascript"> 
$(document).ready(function() { // On page load method, check model and show textbox if needed 
     var model = @Html.Raw(Json.Encode(Model)); // get model example is taken from http://stackoverflow.com/questions/16361364/accessing-mvcs-model-property-from-javascript 
     if (model.IsAlert) { // If model IsAlert is true, show Explanation field 
      $("#thingToHide").show(); 
     } 
}); 

$("#YourCheckBoxId").on("change", function() { 
    $("#thingToHide").toggle(); 
}); 
</script> 

удачи Радха!

+0

Большое спасибо за ответ. Могу ли я написать подобное? Поскольку я новичок в Kendo и бритве, у меня есть сомнение, можем ли мы написать условие в .HtmlAttributes (new {condition}) ....... .................. @ (Html.Kendo(). EditorFor (model => model.Explantion) .HtmlAttributes (новый экран {@ style = Model.IsAlert? ": show white-space: pre ":" display: none "})) Работает ли это? – Radha

+0

Я считаю, что это должно сработать, хотя @style должен будет иметь; между каждым стилем, указанным внутри, так что «display: show; white-space: pre;» как вы хотите отформатировать эту часть. Попробуйте! :) –