平时遇到一些问题的汇总收集(mvc)

1.asp.net mvc对数据校验提供了相当方便的支持,对于前后端的校验都是这个样子。如需要校验某个字段,只需要到对应的实体类中打上响应的标签

public class Teacher
    {
        [StringLength(5,ErrorMessage="*姓名长度不可超过5")]
        [Required(ErrorMessage="*必填项-姓名")]
        public string Name { get; set; }

       [Required(ErrorMessage = "*必填项-年龄")]
        [Range(18,120,ErrorMessage="必须在18-120岁之间")]
        public int Age { get; set; }

        public string Gender { get; set; }
    }

之后,生成项目,vs会自动在前段生成的代码中加入响应的校验信息,然后通过对js的调用实现前段的校验。需要引入的js脚本有以下几个:

 <script src="~/Scripts/jquery-1.8.2.min.js"></script>
    <script src="~/Scripts/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

到此,前段校验完毕,后端的校验更简单,只需要在需要校验的地方打上这个

 if (ModelState.IsValid)

全局校验的控制:(在配置文件中)

<appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

倒数第二个就是控制全局的客户端校验是否开启

某个页面校验的控制:

 @{
        Html.EnableClientValidation(true);
    }

true的话和没加这段代码一样,默认为校验,如果设置为false,则当前页面的客户端校验便失效

2.关于ajax

<script type="text/javascript">
        $(function () {
            $("#TimeBtn").click(function () {
                $.ajax({
                    url: "/Home/GetDateTime",
                    type: "POST",
                    data: "id=2&name=wang",
                    success: function (data) {
                        alert(data);
                    }
                });
            });
        });
    </script>

调试和查看相关HTTP信息,可以打开火狐,f12,在控制台中查看相关发送和接收的信息。

注:今天犯了两个太幼稚的错误,1.引入了script的相关包,但是却把自己写的ajax脚本没有写在

<script type="text/javascript">和
  </script>之间 2.成功后返回的data参数写成了date....

3.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。