您的位置:首页 > 其它

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

2015-01-27 23:53 211 查看
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.mvc自带ajax

@using(Ajax.BeginForm("GetDate","Home",new AjaxOptions(){Confirm="确定要提交吗?",HttpMethod="POST",InsertionMode=InsertionMode.Replace,UpdateTargetId="result",OnSuccess="afterSuccess",LoadingElementId="loading"}) )
{
<div>
用户名。。。。。。
密码。。。。
</div>
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: