我的页面使用两种型号。一个用于主页面呈现,另一个用于搜索功能。
使用Ajax检索搜索视图模型。这是模型:
public class SearchViewModel
{
public int Id { get; set; }
public string Name { get; set; }
}
但我的Razor视图使用不同的模型(主页面渲染):
public class DifferentViewModel
{
public int Id { get; set; }
public string Value { get; set; }
}
我担心在通过隐藏Id
的隐藏字段的表单发布数据时,是否会传递正确的SearchViewModel.Id
值。
@using (Html.BeginForm("Action", "Controller"))
{
@(Html.HiddenFor<SearchViewModel, Int32>(m => m.Id))
}
问题:是否可以重命名id
中的属性input
以匹配SearchViewModel?例如,类似于:
<input type="hidden" id="SearchViewModel.Id" />
或者,我可以使用SearchViewModel中的属性绑定到不同的ID吗?
我查看了下面的1链接,但它没有解决我的问题。此外,我发现的所有引用都将我重定向到自定义模型绑定器,我不想实现(因为在Id
中更改属性SearchViewModel
的名称会更容易)。
参考: