我喜欢使用模型进行验证
<!-- ViewPage -->
<%@ Page Language="C#" Inherits="ViewPage<TopicModel>" %>
...
<%= Html.TextBoxFor(m => m.Title) %>
...
<%= Html.TextBoxFor(m => m.Description) %>
// Controller
[HttpPost]
public ActionResult NewTopic(TopicModel model)
{
// validate
}
它工作得很好,但是当我需要传递额外的数据时,我需要创建一个新的 ViewModel 类并且我失去了灵活性。
<!-- ViewPage -->
<%@ Page Language="C#" Inherits="ViewPage<TopicViewModel>" %>
<%= Model.SomethingImportant %>
...
<%= Html.TextBoxFor(m => m.TopicModel.Title) %> // UGLY, I get name="TopicViewModel.TopicModel.Title"
...
<%= Html.TextBoxFor(m => m.TopicModel.Description) %> // UGLY, same thing
// Controller
[HttpPost]
public ActionResult NewTopic(TopicViewModel model)
{
// validate
var validationModel = model.TopicModel; // UGLY
}
我怎样才能使它更容易和更好看?