[我们目前正在尝试对诸如MVC4项目的React之类的现代前端框架进行试验。我们在模型中使用数据注释,并且我们有很多使用UI进行不干扰验证的表格。
主要是找到一种使用反应来生成内容的方法,同时仍然能够使用诸如自动验证等功能。据我了解,它实际上只是一堆使用data-val
,TextAreaFor
之类的html助手时动态生成的ValidationMessageFor
属性,这些属性从模型类的数据注释中获取值。
我已经尝试过几件事,包括
ReactDOM.render(
@using (Html.BeginForm("xyz", "xyz", FormMethod.Post))
{
@Html.TextBoxFor(x => x.Email)
由于某种原因导致输入框不可编辑。
我希望做更多类似的事情
ReactDOM.render(
<form><input type="text" data-val="@Model.datannotations[1].val" /></form>
有可能吗?无论如何,如何从模型中获取data-val
值?实现此目的的最佳方法是什么?
这不可能。
这是开发ui的两种不同方法。剃刀方式是在服务器端预处理标记代码以填充它。
并且react使用生命周期方法在另一个流程中工作,您应该已经加载了数据注释值以在渲染时访问它。
因此,要使此工作正常,必须先运行剃须刀引擎以填充标记,然后再使用react引擎。我不建议使用这种方法,因为它很难在此基础上进行开发,并且开发人员在开发过程中必须牢记这一流程。
注意此
ReactDOM.render(<ComponentMustHaveJSX/>)