2013-05-16 2 views
0

У меня есть модель следующим образомЧастичный редактор, чтобы показать одно свойство модели

public class PlaceOrder 
    {   
    public int orderCode { set; get; } 
    public string Order_ID { set; get; } 
    public int orderDetailCode { set; get; } 
    [Required] 
    public string Topic { set; get; } 
    //50 more fields are there 
    } 

Использование editorforModel отображает все поля в модели. Я хочу иметь помощника редактора, который принимает имя свойства и только показывает редактор для этого конкретного свойства.

Я написал действия для создания/редактирования/подробностей для моей модели и работает нормально. Мои конечные цели состоят в том, что у меня есть кнопка редактирования рядом с каждым полем в представлении деталей. Как только я нажимаю на редактирование позволяет обновлять и проверять входные данные, а также

EDIT Я использую следующий фрагмент кода для редактирования ссылки

@(Html.Awe().PopupFormActionLink() 
        .LinkText("Edit") 
        .Name("editP") 
        .Url(Url.Action("PropertyEdit", "PlaceOrder", new 
           { 

            PropertyName = Html.NameFor(model => model.SubjectCategoryCode), 
            propertyValue = Html.IdFor(model => model.SubjectCategoryCode), 
            ordercode = Model.orderCode 
           }) 
         ) 
        .Title("Editor for " + Html.NameFor(model => model.SubjectCategoryCode)) 

и я хочу что-то, что я прохожу имя поля и он dispalys соответствующих полей и сделать проверки достоверности

ответ

0

Вы можете просто использовать EditorFor и форму для каждого поля:

@using Html.BeginForm("action", "controller") 
{ 
    @Html.EditorFor(m => m.ordercode) 
    <input type="submit" /> 
} 

@using Html.BeginForm("action", "controller") 
{ 
    @Html.EditorFor(m => m.orderDetailCode) 
    <input type="submit" /> 
} 

Конечно, для каждого элемента вам потребуется другое действие, и вам также нужно получить другие значения, так как вы отправляете только одно значение для контроллера. Для этого вы можете включить скрытое поле с идентификатором и получить другие значения на сервере.

+0

Да, я могу это сделать, но это не кажется жизнеспособным по мере роста количества полей. Я хочу иметь общий редактор, который принимает имя свойства модели и dispalys соответственно. – user2031802

+0

Используйте EditorForModel, затем !! – Fals

0

Для этого используется способ Html.EditorFor(m => m.Property) (для использования этого помощника ваша модель должна быть установлена ​​в PlaceOrder, как и с любыми статическими типизированными помощниками).

Редактировать: Бах, Кеннет был быстрее :-).

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