vbhtml ファイル内のモデルが、1 つのアイテムのモデルの属性を正しく参照して表示するが、別のアイテムのモデルの属性を表示しないという奇妙な問題があります。参考までに、ページは別の vbhtml ページに接続された部分ページとして追加されます。
私のページは、各質問 (質問テキスト) の下に、多数の人 (受益者) をリストするように構成されています。
@ModelType RHEAL_START.QuestionWithAnswers という構文を使用してモデル タイプを参照しているため、これにより、インスタンス化時にモデル項目を自動的に宣言できるようになります。
@ModelType 宣言は、2 番目のモデル フィールド (Model.benAnswers) の参照を正しく許可しますが、最初に宣言したモデル フィールド (Model.questionText) の参照は許可しません。
両方のアイテムは同じモデルの一部であり、ヘッダーとヘッダーの上下に宣言を移動しようとしましたが、Model.questionText の IntelliSense は表示されませんでした。
次の投稿を見て、レイアウト ファイルへの参照を追加しようとしましたが、残念ながら、これも IntelliSense を表示しませんでした。 MVC3 - コントローラーのメソッドではないレンダー ビュー
以下のコードを参照してください。どこが間違っているのか、他に何を試すことができるのか、誰かが提案できますか? さらに詳しい情報が必要な場合は、お知らせください。
@ModelType RHEAL_START.QuestionWithAnswers
@Code
Layout = "~/Views/MedicalQuestions/MedicalQuestions.vbhtml"
End Code
<div id="questionPanel">
@Code
Dim qAndARef As Integer = 0
End Code
<!-- Show question text and number -->
<h1><a href="#">Model.questionText</a></h1>
<table>
<tr>
<td style="font-weight: bold">
Beneficiary </td>
<td style="font-weight: bold">
Yes/No </td>
<td style="font-weight: bold">
Details </td>
</tr>
<!-- !!Iterating over each beneficiary for Medical Question -->
@For Each benanswer As RHEAL_START.BeneficiaryAnswer In Model.benAnswers
Html.Partial("../MedicalQuestions/BeneficiaryAnswerPartial", benanswer)
Next
</table>
@*@Html.ValidationSummary()*@
</div>
@Section Scripts
@Scripts.Render("~/Scripts/RHEAL/YesNoDropDownValidation.js")
End Section