你能将模型属性从asp.net模型传递到reactjs.net组件吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你能将模型属性从asp.net模型传递到reactjs.net组件吗?相关的知识,希望对你有一定的参考价值。

我正在使用最新的asp.net核心与reactjs.net并渲染我的反应组件服务器端,我是否有可能不仅传递模型,而且传递模型属性以进行验证,而不必为JS设置依赖关系验证器?

模型

public class LoginViewModel
    {
        [Required]
        [EmailAddress]
        [StringLength(50)]
        public string Email { get; set; }

        [Required]
        [DataType(DataType.Password)]
        public string Password { get; set; }
    }

视图

@model LoginViewModel
@{
    Layout = "~/Views/Shared/_LoginLayout.cshtml";
}
@Html.React("LoginPage", new { loginData = Model })    
@Html.ReactInitjavascript()

如果没有,那么验证模型的最有效方法是什么,而无需在视图上重新定义整个模型

答案

您应该自行管理验证,因为React具有不同类型的验证调用PropType。例

import React from "react";
import PropTypes from "prop-types";

import moment from "moment/src/moment";
import PostShare from "./PostShare.jsx";

const PostList = props => {
    const categories = JSON.parse(props.post.categories) || [];
    const tags = JSON.parse(props.post.tags) || [];
    const imageSrc = props.medias ? props.medias.path : "./images/No_Image_Available.jpg";

    return (
        <div className="main-post-area-holder">
            <article className="post-details-holder layout-two-post-details-holder wow  fadeInUp">
                <div className="row">
                    <div className="col-lg-5 col-md-5 col-sm-5 col-xs-12">
                        <div className="post-image">
                            <img src={imageSrc} alt="...." />
                        </div>
                    </div>
                    <div className="col-lg-7 col-md-7 col-sm-7 col-xs-12"> 
                        <div className="post-meta-category">
                            <ul className="tags">
                                {categories.map((categorie, index) => {
                                    return (
                                        <li key={index}>
                                            <a href="#" className="tag">
                                                {categorie}
                                            </a>
                                        </li>
                                    );
                                })}
                                {tags.map((tag, index) => {
                                    return (
                                        <li key={index}>
                                            <a href="#" className="tag">
                                                {tag}
                                            </a>
                                        </li>
                                    );
                                })}
                            </ul>
                        </div>
                        <div className="post-title">
                            <h2>
                                <a href="#">
                                    {props.post.title}
                                </a>
                            </h2>
                        </div>
                        <div className="post-meta-posted-date">
                            <p>
                                <a href="#">
                                    {moment(props.post.dateCreated).format("DD MMMM YYYY")}
                                </a>
                            </p>
                        </div>

                        <PostShare />
                    </div>
                </div>
            </article>
        </div>
    );
};

PostList.propTypes = {
    post: PropTypes.object,
    medias: PropTypes.object
};

export default PostList;

以上是关于你能将模型属性从asp.net模型传递到reactjs.net组件吗?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC - 使用 C# 将引用不同程序集的模型从控制器传递到视图

如何在 asp.net MVC 中使用 RedirectToAction 将模型从一个 Action 方法传递到另一个?尽管我发送了一个填充模型,但我得到的是空模型

ASP .NET MVC 3 - 将参数从视图传递到控制器

Asp.Net MVC 从模型创建视图脚手架不生成 int 属性

如何将项目列表从视图传递到控制器(ASP.NET MVC 4)

如何通过asp.net核心中的属性名称从模型中获取验证属性