1 查詢
LINQ: 語言集成查詢(英語:Language Integrated Query,縮寫:LINQ),發音"link",是微軟的一項技術,新增一種自然查詢的SQL語法到.NET Framework的編程語言中,當前可支持C#以及Visual Basic .NET語言
(1) linq 單(多)表查詢的寫法
(from 自定義的表名 in Model物件.查詢的表
where 自定義的表名.欄位1 關系運算子 值
&& 自定義的表名.欄位2 關系運算子 值
orderby 自定義的表名.欄位
select 自定義的表名
select new : [屬性名1= ]自定義的表名.欄位1
[屬性名2= ]自定義的表名.欄位2
[屬性名3= ]自定義的表名.欄位3
select 類名: [類的屬性1= ]自定義的表名.欄位1
[類的屬性2= ]自定義的表名.欄位2
.Single();//查詢單條資料,當沒有資料或者有多條資料時會觸發例外
.SingleOrDefault();//查詢單條資料,當沒有資料回傳默認值(物件的默認值為null);當有多條資料時觸發例外
.ToList();//查詢多條資料并轉為List
.Count();//查詢有多少條資料
完整代碼模板:
(1)查詢單條資料,當沒有資料或者有多條資料時會觸發例外
string oldPicture = (from tabUser in myModel.S_User
where tabUser.userID == user.userID
select tabUser.picture).Single();
(2)查詢多條資料并轉為List,根據表和表之間相同的資料ID進行連表查詢
List<ModuleVo> userModules = (from tabModule in myModel.S_Module
join tabP in myModel.S_Permission
on tabModule.moduleID equals tabP.moduleID
join tabUseType in myModel.S_UserType
on tabP.UserTypeID equals tabUseType.userTypeID
oin tabUser in myModel.S_User
n tabUseType.userTypeID equals tabUser.userTypeID
where tabUser.userID == intUserID
select new ModuleVo
{
moduleID = tabModule.moduleID,
moduleName = tabModule.moduleName,
moduleDescrible = tabModule.moduleDescrible,
moduleFarID = tabModule.moduleFarID,
blFun = tabModule.blFun,
parentModule = (from tabModuleF in myModel.S_Module
where tabModuleF.moduleID == tabModule.moduleFarID
select tabModuleF).FirstOrDefault()
}).ToList();
(3)查詢有多少條資料/查詢資料總條數
int intTotalRow = listUser.Count();
(4)查詢出當前條件資料,查詢單條資料
S_User dbUser = myModel.S_User.SingleOrDefault(o => o.userID == userID);
2 路徑
(1)相對路徑和絕對路徑
關于路徑的說明:
/ 根目錄 (Web服務器 的根目錄)
./ 當前目錄。
../ 父級目錄。
~/ 根目錄 (Application 的根目錄)
@Url.Content("");
將虛擬(相對)路徑轉換為應用程式絕對路徑
1. 修改img元素的src 拼接引數t的作用是讓每次請求的路徑都不一樣,避免瀏覽器快取
完整代碼模板:
$("#validCodeImage").prop("src","@Url.Content("~/Main/CreateValidCode?t=")"+new Date().getTime());
(二) 控制陳述句
控制陳述句用于控制程式的流程,以實作程式的各種結構方式。包括:
if () … else …(條件陳述句)
switch (多分支選擇陳述句)
for()… (回圈陳述句)
do…while() (回圈陳述句)
while()… (回圈陳述句)達到條件結束
break 終止執行switch或回圈陳述句)
continue (結束本次回圈陳述句
goto(無條件轉向陳述句)
return (從函式回傳陳述句)
3新增 和 修改
新增和修改都有個屬于它們的模態表單,在新增的模態框表單是當你新增時的模態框的樣式,在視圖頁面中寫新增的代碼先寫新增按鈕的點擊事件?要重置下表單?新增一個url(相當于路徑)?新增modal表單的標題?打開modal 并禁用esc退出和點擊背景時不關閉動態模態框?保存新增?獲取表單(定義某個變數來獲取里面的值)?判斷字串不能為空否則就要提醒用戶填寫完整?開啟加載層?關閉加載層?重繪表格?關閉模態框
首先我們在HTML代碼中編寫了兩個模態框表單的代碼,一個新增,一個修改,它們兩個操作時都是需要彈出模態表單的
新增:先把模態表單彈出,點擊新增按鈕->彈出模態表單,我在視圖定義一個彈出模態表單的方法function,在button那里通過一個onclick事件去呼叫這個方法;給這個button按鈕系結一個點擊click事件,
首先,去獲取新增這個按鈕,點擊按鈕,若是彈出模態表單,表示系結成功,沒有,則表示系結失敗;下一步就是彈出模態表單,通過onclick去獲取在模態表單;去呼叫一個 modal這個方法,(呼叫modal需要參考一個插件bootstrap.min .js);新增:先把模態表單彈出,點擊新增按鈕->彈出模態表單,我在視圖定義一個彈出模態表單的方法function,在button那里通過一個onclick事件去呼叫這個方法;給這個button按鈕系結一個點擊click事件,
修改:大概操作與新增相似,點擊修改按鈕,彈出模態表單時并且把資料查詢出來,放到模態表單里面,填寫需要修改的資料,對修改的資料進行保存;(查詢資料方法有兩種:根據學院id去資料庫里面查我要修改的這一條資料,查詢好的資料放到模態表單里面;還有一種方式,獲取當前行的資料)。
在這里要注意一個問題,在模態表單輸入資料,然后關閉它,當你在再次打開模態表單時,資料還在,它并被沒有清空,而用戶想要的操作是再一次打開模態表單時,里面資料被清空,一個空的模態表單,
有一個方法可以解決這個問題。
重置完表單后,點擊保存按鈕,進行條件判斷,表單資料不能為空,進行保存的一個操作,給它定義一個function,這個方法里面主要是進行一個保存的操作,而我們要去模態表單里面我們在保存的按鈕上添加了一個onclick,通過onclick呼叫這個方法,獲取需要新增的資料,把獲取到的資料傳給控制器;控制器通過一個方法再傳給資料庫里面進行新增,我通過post把獲取的資料傳送到控制器,在post里,第一個引數:URL,具體的位置,
第二個引數:你要傳遞的引數,以鍵值對 ;
第三個引數:回呼函式;傳遞資料后,還有去判斷傳遞資料是否完整,再給用戶設定一些提示。
在控制器定義一個方法,去接收視圖傳過來的資料,在方法里面,去實體化資料,在對它進行賦值,賦值之后,就是新增,保存資料完成之后,要判斷資料是否新增,資料是否為空/資料是否相同。
在控制器定義一個方法,去接收視圖傳過來的資料,在方法里面,去實體化資料,在對它進行賦值,賦值之后,就是修改,修改資料完成之后,要判斷資料是否修改成功,資料是否為空/資料是否修改。
4洗掉
洗掉有個屬于它的模態表單,在洗掉的模態框表單是當你洗掉時的模態框的樣式,在視圖頁面中寫洗掉的代碼先寫洗掉按鈕的點擊事件?新增一個url(相當于路徑)自定義列洗掉模板 開啟加載層?關閉加載層?關閉模態框
首先我們在HTML代碼中撰寫了一個模態框表單的代碼,一個洗掉,它一個操作時是需要彈出提示模態表單的
查詢需要洗掉的資料,把獲取到的資料傳給控制器;控制器通過一個方法再傳給資料庫里面進行洗掉,我通過方法把獲取的資料傳送到控制器,第一個引數:Url,具體的位置。第二個引數:你要傳遞的引數,以鍵值對。第三個引數:回呼函式;傳遞資料后,還有去判斷傳遞資料是否洗掉,再給用戶設定一些提示。
在控制器定義一個方法,去接收視圖傳過來的資料,在方法里面,去實體化資料,在對它進行賦值,賦值之后,就是洗掉,洗掉資料完成之后,要判斷資料是否洗掉成功,資料是否存在/無法洗掉/洗掉資料例外。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/20905.html
標籤:Java相關
下一篇:asfasfasf
