私のモデルはインターフェースから継承しています:
public interface IGrid
{
ISearchExpression Search { get; set; }
.
.
}
public interface ISearchExpression
{
IRelationPredicateBucket Get();
}
モデル:
public class Project : IGrid
{
public ISearchExpression Search { get; set; }
public Project()
{
this.Search = new ProjectSearch();
}
}
プロジェクトサーチ:
public class ProjectSearch: ISearchExpression
{
public string Name { get; set; }
public string Number { get; set; }
public IRelationPredicateBucket Get()
{...}
}
そしてメインビューの強い型付けされたパーシャルビュー:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ProjectSearch>" %>
<%= Html.TextBoxFor(x=>x.Name)%>
<%= Html.TextBoxFor(x => x.Number)%>
....
フォームを送信すると、Search
プロパティが適切にバインドされません。すべてが空です。アクションは型の引数を取りますProjectSearch
。
Search
想定どおりにバインドされないのはなぜですか?
編集
アクション
public virtual ActionResult List(Project gridModel)
{..}