Заполните поля на вкладке, используя другую модель вкладок - PullRequest
0 голосов
/ 08 февраля 2019

Я хочу знать, возможно ли заполнить вкладку, используя отдельную модель вкладок?

У меня есть две вкладки с двумя отдельными моделями.На вкладке 2 есть поля, для которых требуется информация из вкладки 1. Возможно ли это?

Примеры вкладок:

tabstrip.Add().Text("Pre-screening")
         .Selected(true)
         .Enabled(true)
         .Content(Html.Partial("~/Views/EyeTestReport/_Prescreening.cshtml", new Website.Models.EyeTestReport.PreScreeningViewModel(Model.VisitID)).ToHtmlString());

tabstrip.Add().Text("Screening")
        .Enabled(true)
        .Content(Html.Partial("~/Views/EyeTestReport/_Screening.cshtml", new Website.Models.EyeTestReport.ScreeningViewModel(Model.VisitID)).ToHtmlString());

Поле, которое заполняется на вкладке 1 моделью:

<div style="margin-right:10px; padding-top:10px;" class="form-field">
     @Html.Kendo().NumericTextBoxFor(model => model.VAL).Format("{0:n2}").HtmlAttributes(new { @class = "k-textboxC reset", id = "LeftVA" })
</div>

Поле, которое необходимо заполнить на вкладке 2:

<div style="margin-right:10px; padding-top:10px;" class="form-field">
     @(Html.Kendo().TextBox().Name("LeftVA").Value("").HtmlAttributes(new { @class = "k-textboxC ", @readonly = "readonly" }))
</div>

Заранее спасибо.

1 Ответ

0 голосов
/ 08 февраля 2019

Я решил просто вложить первую модель представления вкладок во вторую и затем явно назвать ее следующим образом:

public class ScreeningViewModel
{
    public AutoRefracViewModel AutoRefractionDataModel { get; set; }
    public PupillaryDistanceViewModel PupillaryDistanceDataModel { get; set; }
    public IopViewModel IOPDataModel { get; set; }
    public HabitualRxViewModel HabitualRxViewModel { get; set; }
    public PreScreeningViewModel PreScreeningViewModel { get; set; }
    public long VisitID { get; set; }

    public ScreeningViewModel(long ID)
    {
        PreScreeningViewModel = new PreScreeningViewModel(ID); //first tab model

        AutoRefractionDataModel = new AutoRefracViewModel(ID);
        PupillaryDistanceDataModel = new PupillaryDistanceViewModel(ID);
        IOPDataModel = new IopViewModel(ID);
        HabitualRxViewModel = new HabitualRxViewModel(ID);
    }
}

Затем вызвать ее следующим образом:

<div style="margin-right:10px; padding-top:10px;" class="form-field">
     @(Html.Kendo().TextBoxFor(m => m.PreScreeningViewModel.VAL).HtmlAttributes(new { @class = "k-textboxC ", @readonly = "readonly" }))
</div> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...