2016-12-15 17 views
-1

Я бы хотел условно отключить эту кнопку или сделать ее только для чтения, чтобы пользователь мог просто видеть данные, отображаемые в поле или тексте, но не являющиеся я могу попробовать что-то изменить, я пробовал много шагов по этой проблеме, но ничего не работает, если вы посмотрите в моем коде ниже.Razor View, как отключить @htmlEdittorFor или сделать его готовым в зависимости от идентификатора модели

может кто-нибудь посоветует мне или придумает решение по этому вопросу. благодарим вас заранее.

enter image description here

<div class="inline-block-side"> 
    @if (Model.Promotion.PromotionID == 209) 
    { 
     @Html.DisplayFor(model => model.Promotion.PromotionTitle) 
    } 
    else 
    { 
     <div class="editor-label"> 
      @Html.LabelFor(model => model.Promotion.PromotionTitle) 
     </div>    
     <div class="editor-field" title="The name of the Promotion" @((Model.Promotion.PromotionID == 209) ? "disabled" : "")> 
      @Html.EditorFor(model => model.Promotion.PromotionTitle) 
      @Html.ValidationMessageFor(model => model.Promotion.PromotionTitle) 
     </div>      
     <div class="editor-label"> 
      @Html.LabelFor(model => model.Promotion.ArtworkDate) 
     </div> 
     <div class="editor-field" title="The date the Artwork is to be recieved by"> 
      @Html.TextBoxFor(model => model.Promotion.ArtworkDate, "{0:dd/MMM/yyyy}", new { @id = "ArtworkDate", @class = "date" }) 
      @Html.ValidationMessageFor(model => model.Promotion.ArtworkDate) 
     </div> 
+0

Какую кнопку вы имеете в виду? А что не работает? Что вы ожидаете, и что на самом деле происходит? (и удалить недопустимый '@ ((Model.Promotion.PromotionID == 209)?" disabled ":" ")' code) –

+0

@StephenMuecke проверить мое сообщение снова, я включил изображение в качестве примера. im ссылаясь на все html-редактирование и текстовое поле, что происходит, когда пользователь открывает текстовые поля страницы, которые уже сгенерировали данные, и позволяет пользователю редактировать данные и изменять их. теперь я хочу, когда заголовок proomotion равен 209, я не хочу, чтобы пользователь редактировал данные в тексте, я просто хотел бы, чтобы пользователь просто видел данные, но не мог редактировать данные. делает то, что имеет смысл для вас сейчас? – cedPound

+0

Это то, что код в блоке 'if' - для этого одного свойства, по крайней мере, - просто добавьте' DisplayNameFor() и 'DisplayFor() для каждого свойства. –

ответ

0

Вы можете использовать @ Html.DisplayFor, чтобы решить ваши проблемы, или вы можете пользователь JQuery включить, отключить атрибуты, чтобы сделать textboxe READONLY

+0

Я решил свою проблему, написав функцию jquery, спасибо – cedPound

 Смежные вопросы

  • Нет связанных вопросов^_^