要件:cshtmlに渡されるモデルプロパティに基づいて剣道コントロールを生成する検索ウィジェットを開発すると仮定します。例えばコントローラからcshtmlに渡されるモデルプロパティに基づいて剣道UIコントロールを動的に生成するには
:モデルは、
public string Name {get; set;}
として、次のプロパティが含まれている場合、それはコントロールとしてテキストボックスを生成する必要があり、またはプロパティが
public string DateOfBirth {get; set;}
ある場合、それは日付ピッカーを生成する必要が。 私が達成できたのは、モデルを動的にcshtmlに渡して、cshtmlが疎結合するようにすることでした。私が直面している問題は、渡されているモデルは異なるデータ型のプロパティを持っていますが、cshtmlはすべてのプロパティのテキストボックスコントロールでのみ遺伝的に処理されるということです。モデル。
確認してください以下のコード: コントローラー:
[HttpGet]
public ActionResult About(AddressModel obj)
{
dynamic model = obj;
return this.View(model);
}
CSHTML:
@inherits BaseRazorView<object>
<h1>Search Criteria</h1>
@for (int i = 0; i < Model.GetType().GetProperties().Count(); i++)
{
<div class="row col-md-5">
@Html.EditorFor(model => model.GetType().GetProperties()[i].Name)
</div>
<br />
}
日付フィールドが文字列であればそれはどのようにフィールドの種類を異なるのでしょうか? – DontVoteMeDown