.NET MVC学习笔记四

 

1、导航样始终在页面底部

1.1 HTML代码

·<div id="divbottom">底部的菜单</div>

1.2 CSS代码

·<style type="text/css">#divbottom {

·      position:fixed;

·      left:0px;

·      bottom:0;

·      _position:absolute;

·      _top:expression(document.documentElement.clientHeight + document.documentElement.scrollTop - this.offsetHeight);

·  }</style>

 

2、MVC Entity报:属性是对象的键信息的一部分,不能修改错误

解决方法:; 数据表设置主键,更新Entity

 

3、mvc发送EMAIL

引入 net.mail

3.1 配置文件

<appSettings>

<addkey="smtpServer"value="SMTP服务器" />

<addkey="smtpPort"value="端口号" />

<addkey="smtpUser"value="邮箱登录名" />

<addkey="smtpPass"value="密码" />

<addkey="adminEmail"value="发送方邮箱" />

</appSettings>

3.2 发送email方法类

publicbool sendEmailInfo(string to,string subject,string content)

        {

string smtpFromUser = ConfigurationManager.AppSettings["adminEmail"];

bool result = false;

MailMessage Mail = newMailMessage(smtpFromUser, to);

            Mail.Subject = subject;

            Mail.Body =content;

            Mail.BodyEncoding = Encoding.UTF8;

SmtpClient smtp = newSmtpClient();

            smtp.Host = ConfigurationManager.AppSettings["SmtpServer"];

//发送连接时间

            smtp.Timeout = int.MaxValue;

            smtp.UseDefaultCredentials = false;

//发送端口

            smtp.Port = Convert.ToInt16(ConfigurationManager.AppSettings["SmtpPort"]);

//是否加密

            smtp.EnableSsl = false;

//发送邮件方的身份验证(登陆名称/密码)

string smtpUserName = ConfigurationManager.AppSettings["smtpUser"];

string smtpUserPassword = ConfigurationManager.AppSettings["smtpPass"];

            smtp.Credentials = newNetworkCredential(smtpUserName, smtpUserPassword);

//发送邮件对象

            smtp.Send(Mail);

return result=true;

        }

 

4、Model日期验证

[Required]

[Display(Name = "日期")]

[DataType(DataType.Date)]      [RegularExpression(@"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$", ErrorMessage = "{0}的格式不正确")]

publicstringDateTest{ get; set; }

 

5、用DIV+CSS中设置,超出就自动换行输出。

在CSS中设置相关class,  word-break:break-all;

 

6、CSS中设置每段首行缩进2个字符

 p   {   text-indent:2em   }

 

7、CSS中设置button 鼠标放上去显示手形模式

设置样式中:cursor:pointer;

 

8、让文章中英文单词或拼音全大写

8.1、text-transform 值:
Capitalize 英文拼音的首字母大写
Uppercase 英文拼音字母全大写
Lowercase 英文拼音字母全小写

8.2、CSS text-transform语法结构
div{text-transform:capitalize}

 

9、CSS高度自适应

在使用MVC做View的时候,发现,顶部固定,中部的内容,如果太多,就会盖住底部的内容,我是想中部的内容,不论多少,占用多高的高度,也不要影响页底的布局。

后来研究了一下,在中部的容器中CSS做如下设置:

.container

{

width:1200px;

text-align:center;

margin  :0auto;

padding:0;

position:relative;

clear: both;

display: block;

}

 

10、让一个div层浮在最上层的方法

设置 style 中 z-index:auto

auto可定义为一个值(整数数字),越大代表越置前,如可定义为: z-index:9999。

若定义为-1,代表为最底层。

另:若是会被一些FLASH文件给遮住,可将flash对象的参数wmode设置为transparent即可。

 

11、jQuery Mobile按钮上的文字自动换行

例如:

<a data-role="button" class='myButton'>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</a>

然后创建一个这样的css样式:

CSS代码:

.myButton

{

 word-wrap: break-word !important;

 white-space: normal !important;

}

 

12、DIV中的内容,超出宽度自动隐藏

在CSS设置DIV的class属性,overflow:hidden

光用这个属性,只是超出了设置的范围不显示,所以,还要加上DIV的高度和宽度。这样,对于超出宽度的内容,就不会显示了。