我需要将一个复杂的对象(模型)绑定到视图。我有一个搜索模型和搜索视图..
搜索模型,
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
在获取请求中提交表单时,查询字符串将如下所示,
?SearchCriteria.AccountId=1&SearchCriteria.AccountName=aaa
有没有办法将它们更改为不带SearchCriteria
后缀显示?
因此控件名称应呈现为AccountId
,AccountName
控件 ID 应呈现为AccountId
,AccountName
和查询字符串应该看起来像,
?AccountId=1&AccountName=aaa