任何優秀的框架,都能傳遞引數。在之前的路由章節,我們已經看到了如何在url中傳遞引數。
能夠傳遞簡單的引數當然好,特別是在設計那些從資料庫讀取記錄的api設計中。但是,很多情況下也是需要傳遞複雜物件。
這個可能是登入模組的驗證資訊,或者是資料庫表中的多條記錄。不管怎麼樣,只是傳遞簡單物件已經不能滿足。
這下就該輪到nancy的模板繫結功能起作用了。
如果你之前已經熟悉了asp.net mvc,你應該已經了解了模型繫結是什麼了: 這是乙個根據請求和攜帶的資料去匹配物件變數的
一圖賽千言
namespace看下這個類,估計您一眼就能想到,我們採用乙個整形數字代表記錄,每條記錄都是由五個屬性構成了位址資訊。nancybook.models
public
string name
public
string buildingaddress
public
string town
public
string county
public
string postalcode }}
當前臺通過ajax向後台提交表單或傳遞json物件時,就能獲得其中的五個屬性:
正如你在上圖中看到的,你可以在web表單中傳送乙個複雜物件,每個表單元素的名字和數值會一起拼接為乙個字串。這也適用於傳送json或xml格式的資料。
模型繫結的任務就是把傳遞的字串匹配到物件的屬性上。
如果只是傳遞了部分字段,其他字段仍然是預設值。
乙個小例子
讓我們建立乙個用於存放檢視的資料夾address,然後在其中新增乙個叫index.html的html檔案,**如下:
"en在模組資料夾中新增乙個類檔案 addressroutes.cs,**如下:">class="
container
">
class="
page-header
">
class="
lead
">please fill in the form below and click '
send data
'to perform a data bind to the post action.
"recordid
" name="
recordid
" type="
hidden
" value="
1"/>
class="
form-group
">
for="
name
">name
"text
"class="
form-control
" id="
name
" name="
name
"placeholder="
enter persons name here
"/>
class="
form-group
">
for="
buildingaddress
">building address
"text
"class="
form-control
" id="
buildingaddress
"name="
buildingaddress
" placeholder="
enter building address here
" />
class="
form-group
">
for="
town
">town
"text
"class="
form-control
" id="
town
" name="
town
"placeholder="
enter town here
" />
class="
form-group
">
for="
county
">county
"text
"class="
form-control
" id="
county
" name="
county
"placeholder="
enter county here
" />
class="
form-group
">
for="
postalcode
">postal code
"text
"class="
form-control
" id="
postalcode
"name="
postalcode
" placeholder="
enter postal code here
" />46"
submit
"class="
btn btn-primary
">send data
由三種不同的繫結方式,比較典型的如下:
address myaddress = this.bind();還有採用var ,並輸入泛型的
var myaddress = this.bind();最後,如果已經建立模型的物件,還可以這樣:
var myaddress = this.bindto(existingmodelinstance);就我個人而言,我更傾向於第二種。
擴充套件你的模組類,新增儲存的處理,**如下:
using然後再新增乙個視**件 display.htmlnancybook.models;
using
nancy;
using
nancy.modelbinding;
namespace
nancybook.modules;}}}
繫結列表和陣列
驗證
總結
第七章 模型評估
分類模型評估 二分類 標註分類只有兩類的分類,乙個類叫做二分類的正類,用1表示 另個一類叫做二分類的負類,用0表示。一般來說,正類是我們比較關注的類,比如 員工是否離職 離職的叫做正類,不離職的叫做負類。注 有的時候0和1不是直接得到的,而是我們得到了乙個資料在經過模型輸出後,劃分為正類的概率,如果...
python第七章 python教程(第七章)
字典和集合 字典是python中唯一,乙個對映型別 如何建立乙個字典,如下 dict dict 滲透 網路安全 怎麼理解字典呢?現實生活中的字典可以通過首字母進行查詢要查詢的漢子,python也可以這樣理解,通過 前的元素查詢到冒號後的元素。為什麼說字典是唯一乙個對映型別呢?看圖。對映型別區別與序列...
第七章 函式
1.ansi c 允許函式原型的使用,函式宣告提供給編譯器和之後的呼叫函式返回值型別,引數型別和數量的資訊,而k c用單獨的列表給出引數的型別,編譯器只記住函式的返回值型別,但不儲存函式的引數數量和型別 2.沒有return語句的函式,隱式的返回 3.函式的原型可以單獨放於乙個標頭檔案中,一定要具有...