複雑なオブジェクト (モデル) をビューにバインドする必要があります。私は検索モデルと検索ビューを持っています..
検索モデル、
public class SearchModel
{
public SearchCriteria SearchCriteria { get; set; }
.....
}
検索基準
public class SearchCriteria
{
public int AccountId { get; set; }
public string AccountName { get; set; }
......
}
検索ビュー
@Html.LabelFor(x => x.SearchCriteria.AccountId, "Account ID")
@Html.TextBoxFor(x => x.SearchCriteria.AccountId)
@Html.LabelFor(x => x.SearchCriteria.AccountName, "Account Name")
@Html.TextBoxFor(x => x.SearchCriteria.AccountName)
これは次のようにレンダリングされます
<label for="SearchCriteria_AccountId">Account ID</label>
<input id="SearchCriteria_AccountId" name="SearchCriteria.AccountId" type="text" value="">
<label for="SearchCriteria_AccountName">Account Name</label>
<input id="SearchCriteria_AccountName" name="SearchCriteria.AccountName" type="text" value="">
コントロール名は としてレンダリングされSearchCriteria.AccountId、SearchCriteria.AccountNameコントロール ID は としてレンダリングされますSearchCriteria_AccountId。SearchCriteria_AccountName
get リクエストでフォームを送信すると、クエリ文字列は次のようになります。
?SearchCriteria.AccountId=1&SearchCriteria.AccountName=aaa
接尾辞なしで表示するように変更する方法はありますSearchCriteriaか?
したがって、コントロール名は としてレンダリングされAccountId、AccountNameコントロール ID は としてレンダリングされる必要がありますAccountId。AccountName
クエリ文字列は次のようになります。
?AccountId=1&AccountName=aaa