的公開方法很多。這一章只排你在前 11 章會用到、而且能在公開教學或類別清單裡對上代碼的那些。方法的第一個參數幾乎都是定位: 或它的字串形式。

產生正文

string ini = form.Response();
string tag = form.ExportToWebFormsTag("");
string comment = form.ExportToHtmlComment(true);

在緩衝區前加上 與換行。緩衝區是空的時,它仍回傳這一行標頭。 做成 ,多行已折成 \$[sln];。 做成 HTML 註解,參數表示要不要先換行。Razor Pages 第一次繪製時用註解,AJAX 往返時用 。

CodeBehind 控制器不要自己把字串寫進 的情況,教學用的是:

Control(form);
IgnoreAll();

聯絡表單那份公開範例用的是另一組,效果同樣是壓掉 View:

Write(form.Response());
IgnoreViewAndModel = true;

選一組,不要兩組各寫一半。

和歡迎頁同一族的方法

下面左欄是歡迎頁已經出現過的呼叫,右欄是同一族、簽名類似、只換代碼的方法。寬與高、字級都有字串多載與整數多載;整數多載會帶像素單位。

方法 代碼 你傳入的值
/ st / at 文字,換行會被編成 \$[ln];
nt 標籤名,或標籤名與 id
/ / bt / ft / ut 同上
bc 顏色
tc 顏色
fs 字級
/ fn / fb 名稱 / 布林
/ sw / sh 長度
vi 布林,編成 或
/ / sd / sr / sf 布林
/ sa / aa 屬性名與值
/ de / dp 只有定位

的 id 多載會把值編成 。沒有 id 時,值就只有標籤名。歡迎頁用的是後者,所以回應是 nt<form>=h3,新標題沒有 id。

表單控制項

form.AddOptionTag(InputPlace.Id("city"), "Taipei", "TPE", false);
form.SetSelectedValue(InputPlace.Id("city"), "TPE");
form.DeleteOptionTag(InputPlace.Id("city"), "TPE");
form.DeleteAllOptionTag(InputPlace.Id("city"));

form.SetChecked(InputPlace.Name("agree"), true);
form.AddCheckBoxTag(place, "I agree", "yes", false);
form.IncreaseValue(InputPlace.Name("hdn_Count"), 1);
form.SetMaxLength(InputPlace.Name("txt_Name"), 40);

的參數順序是定位、顯示文字、值、是否選取。對應 ,三段用豎線接起來。 的第二個參數是 option 的 value;刪光用 ,代碼值為 。

延遲是改寫已經寫好的那一行

CodeBehind 的聯絡範例在 之後呼叫單參數的 。對應的回應行以 :3) 開頭,也就是第 7 章的延遲前置,單位是秒。

各語言類別的母本在演化。Go 移植裡看得到的簽名是 :它讀取緩衝區裡已經存在的那一行,把 :毫秒) 加到動作碼前面。索引指的是緩衝區的行,不是 DOM。

呼叫 之前先看你安裝的多載。若參數是 ,第一個數的單位要對一下是秒還是毫秒,第二個數是「已經 進去的那一行」。單參數的教學寫法 不要直接抄到另一種簽名上。

週期前置沒有出現在入門教學裡。需要「每四秒加寬」這種效果時,先確認類別有沒有對應的 方法;沒有的話,最後手段才是直接組那一行字串。平常不要繞過方法去拼 INI,否則跳脫規則會漏。

網址、重新載入、標題

類別清單裡還有一組不針對某個輸入欄位的方法:、、、、、、。它們仍然是回應裡的一行,由 WebFormsJS 在瀏覽器執行。 與 會弄掉目前這份 DOM,和「只改一個 」的目標相反。能用 解決的,就不要重新載入。

會產生代碼 ,值是 。它讓瀏覽器的上一頁、下一頁對得上你加進去的狀態。第 10 章有一個完整的 Razor Pages 例子。 與 用來收回。

方法是代碼的型別安全包裝。除錯時以網路上的 INI 為準,不以你記得的方法名為準。若 INI 裡的定位和你想的不同,先回到第 6 章,不要先懷疑 WebFormsJS 沒執行。