我混淆了輸入的ID,名稱,值和其他自定義屬性,它們是如何從其創建的。我的問題是:什麼是ASP FormCollection字段的基礎,在html輸入?
FormCollection
鍵從輸入的ID或名稱產生的?- 是
input
的值是否與formCollection[key]
相同? - 我們可以從獲得其他輸入自定義屬性嗎
FormCollection
?
我混淆了輸入的ID,名稱,值和其他自定義屬性,它們是如何從其創建的。我的問題是:什麼是ASP FormCollection字段的基礎,在html輸入?
FormCollection
鍵從輸入的ID或名稱產生的?input
的值是否與formCollection[key]
相同?FormCollection
?FormCollection鍵是從輸入的ID或名稱創建的?
它們是從name
創建的。
輸入的值是否與formCollection [key]相同?
一個FormCollection
有input
列表從form
,該key
是input
的name
。您通過輸入name
訪問value
。
我們可以從FormCollection獲取其他輸入自定義屬性嗎?
With FormCollection
您只能使用name
和value
。
而不是FormCollection
你應該創建自己的模型。通過這種方式,您可以更容易地驗證您的數據,並且您不必知道輸入的name
即可獲取該值。
class MyModel
{
[Required]
public string Prop1 {get; set;}
//other validation/UI helpers attributes
public string Prop1 {get; set;}
}
[HttpPost]
public ActionResult Action(MyModel model)
{
/* body */
}
如果你想使用一個模型和內容創建的動態,你可以給名稱輸入模型綁定已瞭解,如下面給出
<input type="text" name="Prop1" ... />
<input type="text" name="Prop2" ... />
這將綁定到模型automarically。雖然在這種情況下驗證將僅在服務器端進行。
我的表單中的數據是完全動態的,它創建了運行時。所以我沒有任何有關他們的信息。所以我不能使用ViewModel。 thx –
@SiamakFerdos如果您知道** Model Binding **的工作方式,您可以創建輸入的名稱,以便使用ViewModel。或者您可以創建自定義模型聯編程序。 – adricadar
我創建了一個自定義網格。我在頁面中使用了一對。我想獲得一個網格的所有行。用戶可以在客戶端的兩個網格之間移動行。所以,第一:我不知道在網格中的輸入,第二:我不知道哪一行被移動,我應該將它綁定到模型第三:這個網格是其他網絡解決方案上的項目。我爲所有類型的Web項目創建它。所以我根本無法使用Model –
基於控件'name'和'value'屬性形成回傳'name/value'對。沒有提交控件'id'屬性(也沒有任何其他屬性)。你不應該使用'FormCollection' - 回發並綁定到你的模型! –
我的表單中的數據是完全動態的,它創建了運行時。所以我沒有任何有關他們的信息。所以我不能使用ViewModel。 thx –