免费男女视频_国产系列 视频二区_羞羞视频免费入口网站_久国久产久精永久网页_国产免费观看av_一区二区三区日韩在线观看

.NET MVC学习笔记一

1、延遲請求驗證機制:在“web.config”里配置<httpRuntime requestValidationMode=”4.5” />

 

2、啟用自定義錯誤:在“web.config”里配置

<system.web>

<customErrorsmode="On"defaultRedirect="http://www.chreactor.com">

<errorstatusCode="404"redirect="~/error/notfound"></error>

</customErrors>

</system.web>

 

3、.NET MVC操作MySQL數據庫

3.1 先去MySQL官網下載mysql-connector-net,將下載好的dll文件引入到工程中。

3.2 在項目中,引入using MySql.Data.MySqlClient;

3.3參考代碼:

MySqlConnection myConnection = null; 

MySqlCommand  myCommand = null; 

MySqlDataReader myDataReader = null; 

//連接字符串拼裝

myConnection= newMySqlConnection("Host = localhost;Database = 數據庫;Username = 用戶名;Password =密碼"); 

//連接

myConnection.Open(); 

if(myConnection.State.ToString()=="Open") 

連接MYSQL成功!; 

//數據庫操作

myCommand= newMySqlCommand("select * from test",myConnection); 

myDataReader= mycom.ExecuteReader(); 

//一次次讀,讀不到就結束

while (myDataReader.Read()) 

讀取字段信息;

//////關閉相關對象

myDataReader.Close(); 

myConnection.Close(); 

 

4、web.config配置數據庫連接方法一

4.1 web.config文件:加在<appsettings>和</appsettings> 之間

<appsettings>

<add

key="connstring" value="uid=xx;pwd=xx;database=batabase_name;server=(local)"/></appsettings>

4.2 取連接字符串:

string myvar=configurationsettings.appsettings["connstring"];

 

5、web.config配置數據庫連接方法二

5.1 web.config文件:加在</configSections>后面

<connectionStrings>
http://www.cnblogs.com/Images/OutliningIndicators/None.gif<add name="SqlConnStr" connectionString="user id=xx;password=xx;initial catalog=database_name;data source=.\sqlxxxx"/>
http://www.cnblogs.com/Images/OutliningIndicators/None.gif</connectionStrings>

5.2 取連接字符串

string connString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString;

protectedstaticstring connectionString = ConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString;

 

6、一個完整的.net 操作mysql數據

6.1 數據新增

publicclassUserInfoEntity

{

publicstaticstring connectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

publicstring UserName { get; set; }

publicstring UserPassword { get; set; }

publicbool Add()

{

///////////////////獲取MYSQ看數據返回值//////////////////////////// 

MySqlConnection myconn = null;

MySqlCommand mycom = null;

//連接字符串拼裝

myconn = newMySqlConnection(connectionString);

//連接

myconn.Open();

mycom = newMySqlCommand("insert into testuser (username,userpassword) values(?userName,?userPassword)", myconn);

mycom.Parameters.Add("@userName", MySqlDbType.VarChar, 32).Value = UserName;

mycom.Parameters.Add("@userPassword", MySqlDbType.VarChar, 32).Value = UserPassword;

int rows = mycom.ExecuteNonQuery();

//////關閉相關對象

if (myconn!= null) { myconn.Close(); }

returntrue;

}

6.2 數據查詢

注意:DbConnection是一個靜態的連接類,需要自己寫。或者這塊直接用連接字符串替代。

//連接字符串拼裝 

MySqlConnection myconn = new MySqlConnection(DbConnection.connectionString);

MySqlCommand mycom  = new MySqlCommand();

mycom.CommandText = "select * from testuser where username=?userName and userpassword=?userPassword";

mycom.Parameters.Add("@userName", MySqlDbType.VarChar, 32).Value = UserName;

mycom.Parameters.Add("@userPassword", MySqlDbType.VarChar, 32).Value = UserPassword;

mycom.Connection = myconn;

myconn.Open();

var  rows = mycom.ExecuteScalar();

mycom.Connection.Close();

 

7、.NET MVC自己編寫登錄驗證(常規版)

7.1 要先引入using System.Web.Security;

7.2 驗證值寫入cookie:

FormsAuthenticationTicket authTicket = newFormsAuthenticationTicket(

1,

"名稱",

DateTime.Now,

DateTime.Now.AddMinutes(30),

false,

"用戶數據"

 );

string encryptedTicket = FormsAuthentication.Encrypt(authTicket);

HttpCookie authCookie = newHttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

Response.Cookies.Add(authCookie);

如果要記住登錄認證(上文中設置的記住時間是30分鐘):

authTicket中的 false,改為true。

authCookie.Expires = ticket.encryptedTicket;

7.3 認證的cookie值獲取:

if (User.Identity.IsAuthenticated)

{

string cookieName = FormsAuthentication.FormsCookieName;

HttpCookie authCookie = Request.Cookies[cookieName];

FormsAuthenticationTicket authTicket = null;

authTicket = FormsAuthentication.Decrypt(authCookie.Value);

string userinfo = authTicket.UserData;

string userinfoName = authTicket.Name;

 }

 

8、.NET MVC自己編寫登錄驗證(簡潔版)

public ActionResult LoginIn(string username, string password)

 {

string userdata = username + "|" + password;

FormsAuthentication.SetAuthCookie(userdata,true);

return RedirectToAction("Index");

  }

判斷是否登錄,取cookie里的登錄信息。

public ActionResult Index()

 {

if (User.Identity.IsAuthenticated)

{

string userinfo = User.Identity.Name;

}

return View();

}

 

9、用戶注銷登錄認證信息

FormsAuthentication.SignOut();

 

10、在MVC中使用注解方式的認證[Authorize(Roles = "admin")]

10.1 將FormsAuthenticationTicket authTicket中用戶數據中填寫:admin。見本章內容 7.2條。

10.2 在Global.asax中添加驗證

///<summary>

///構造方法

///</summary>

public MvcApplication()

 {

       AuthorizeRequest += newEventHandler(Application_AuthenticateRequest);

 }

protectedvoid Application_AuthenticateRequest(Object sender,EventArgs e)

{

      HttpCookie authCookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];

      if (authCookie == null || authCookie.Value == "")

       {

           return;

        }

      FormsAuthenticationTicket authTicket = null;

       try

       {

             authTicket = FormsAuthentication.Decrypt(authCookie.Value);

        }

       catch

       {

            return;

        }

        string[] roles = authTicket.UserData.Split(newchar[] { ',' });

        if (Context.User != null)

         {

                Context.User = new System.Security.Principal.GenericPrincipal(Context.User.Identity,roles);

          }

 }

 

11、.net mvc 引入部分視圖

11.1 Razor 語法:

@Html.Partial

@{Html.RenderPartial();}

@{Html.RenderAction();}

@RenderPage()

11.2 用法:

一般用@{Html.RenderPartial();},如果引入的頁面需要使用model同數據庫交互,就用@{Html.RenderAction();}

 

12、使用MD5加密

string A; //加密前數據
string B; //加密后數據
B=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(A,"MD5")

 

13、利用JSON實現省市菜單聯動

13.1 創建省MODEL

public class Province

{

        public int ID { get; set; }

        public string Name { get; set; }

  }  

public class City

 {

      public int ID { get; set; }

      public int ProvinceID { get; set; }

      public string Name { get; set; }

      public string ZipCode { get; set; }

13.2 創建基礎省市數據

public static class ProvincAndCityBaseData  

       public static List<Province> GetProvices()

        { 

            List<Province> result = new List<Province>();

            result.Add(new Province(){ ID = 1, Name = "河北省"});

            result.Add(new Province(){ ID = 2, Name = "江蘇省"});

            result.Add(new Province(){ ID = 3, Name = "上海市" });

            return result;

        }      

        public static List<City> GetCitiesByProvince(int provinceId)

        {

            List<City> result = new List<City>();

            result.Add(new City() { ID = 1, Name = "石家莊市",ProvinceID = 1,ZipCode = "001"});

            result.Add(new City() { ID = 2, Name = "張家口市", ProvinceID = 1, ZipCode = "002"});

            result.Add(new City() { ID = 3, Name = "邯鄲市", ProvinceID = 1, ZipCode = "003" });

            result.Add(new City() { ID = 4, Name = "南京市", ProvinceID = 2, ZipCode = "004" });

            result.Add(new City() { ID = 5, Name = "蘇州市", ProvinceID = 2, ZipCode = "005" });

            result.Add(new City() { ID = 6, Name = "常州市", ProvinceID = 2, ZipCode = "006" });

            result.Add(new City() { ID = 7, Name = "靜安區", ProvinceID = 3, ZipCode = "007" });

            result.Add(new City() { ID = 8, Name = "楊浦區", ProvinceID = 3, ZipCode = "008" });

            return result.Where(r => r.ProvinceID == provinceId).ToList();

        }  }

13.3 編寫控制層

public JsonResult GetProvinces()

 {

            List<SelectListItem> items = new List<SelectListItem>();

            var provinces = ProvincAndCityBaseData.GetProvices();

            foreach (Province p in provinces)

            {

                items.Add(new SelectListItem()

                {

                    Text = p.Name,

                    Value = Convert.ToString(p.ID)

                });

            }

            if (!items.Count.Equals(0))

            { 

                items.Insert(0, new SelectListItem(){Text = "請選擇",Value = ""});

            }

            return Json(items, JsonRequestBehavior.AllowGet);

        }

       

        public JsonResult GetCities(string id)

        {

            List<SelectListItem> items = new List<SelectListItem>();

            if (!string.IsNullOrEmpty(id))

            { 

                var cities = ProvincAndCityBaseData.GetCitiesByProvince(int.Parse(id));

                foreach (City c in cities)

                {

                    items.Add(new SelectListItem()

                    { 

                        Text = string.Concat(c.ZipCode, " ",c.Name),

                        Value = c.ID.ToString() 

                    });

                } 

                if (!items.Count.Equals(0))

                { 

                    items.Insert(0, new SelectListItem(){Text = "請選擇",Value = ""});

                }

            }

            return Json(items, JsonRequestBehavior.AllowGet);     

 }

13.4 編寫視圖

選擇省:<select id="p"></select> <br/>

選擇市:<select id="c"></select>

@section scripts  {

    <script type="text/javascript">

        $(function() { 

            getProvince(); 

            $('#p').change(function() { 

                changeCity(); 

            }); 

        });

        //加載省 

        function getProvince() {

            $.getJSON('@Url.Action("GetProvinces","Home")', function (data) {

                $('#p').empty();

                $.each(data, function(i, item) {

                    $('#p').append($('<option></option>').val(item.Value).text(item.Text));

                });

            });

        }

        //設置城市清空

        function emptyCity() {

            $('#c').empty();

            $('#c').append($('<option></option>').val('').text('請選擇'));

        }

        //根據省加載城市

        function changeCity() {

            var selectedProvinceId = $.trim($('#p option:selected').val());

            if (selectedProvinceId.length == 0) {

                emptyCity();

            } else {

                $.getJSON('@Url.Action("GetCities","Home")', { id: selectedProvinceId }, function (data) {

                    $('#c').empty();

                    $.each(data, function(i, item) {

                        $('#c').append($('<option></option>').val(item.Value).text(item.Text));

                    });

                });

            } 

}  </script> 

}

主站蜘蛛池模板: 线观看免费完整aaa 一二区成人影院电影网 | 久久成人午夜视频 | 亚洲一区二区中文字幕在线观看 | 久久精品久 | 毛片一级网站 | 久久久久亚洲视频 | 国产免费一区二区三区在线能观看 | 另类亚洲孕妇分娩网址 | 亚州精品在线视频 | 欧美一级二级毛片视频 | 欧美亚洲国产成人 | 国产一国产一级毛片视频 | 国产精品亚洲综合一区二区三区 | 视频一区二区三区免费观看 | 久久精品视频一区二区三区 | 成人国产综合 | 国产精品亚洲欧美一级在线 | 欧美视频在线一区二区三区 | 暴力强行进如hdxxx | 依依成人综合 | 成人在线视频一区 | 成人综合在线观看 | 成人免费网站在线观看 | 91福利免费视频 | 日韩.www| 久久男人视频 | 免费看成人av | 91色琪琪电影亚洲精品久久 | 欧美成人精品一区 | 一边吃奶一边插下面 | 日韩三级伦理在线观看 | 毛片在线免费观看完整版 | 欧美日韩免费在线观看视频 | 久久亚洲第一 | 欧美aⅴ视频 | 久久草草影视免费网 | 欧美成人福利 | 国产日产精品一区四区介绍 | 国产成人精品自拍视频 | 黄色av网站在线观看 | 久久久久久久亚洲精品 |