2017-11-10 339 views
0

我使用Asp.net核2.0和我有以下代碼:TextBoxFor:i編號類型但默認值=「」

@Html.TextBoxFor(model => model.personalData.sonsNumber, null, new { type = "number", value = "", required = "required", pattern="[0-9]" }) 

什麼我想要是使用驗證功能, HMTL5提供。問題是我的model.personalData.sonsNumber是一個int並且有一個數字作爲默認值,我需要將默認值設置爲空字符串(「」)。我已經嘗試過value="",它不起作用。

任何人都可以告訴我如何做到這一點?

預先感謝您。

回答

1

您可以將屬性的類型從int更改爲可空INT(int?

public class PersonalData 
{ 
    [Required] 
    public int? SonsNumber { set;get;} // I took the freedom to follow CamelCasing :) 
} 

可空INT的默認值將是現在NULL所以標籤助手/ HTML助手將呈現爲空字符串。默認值爲int類型爲0

+0

非常感謝。 '?'完美無缺。但是你給我提出了另一個問題:爲什麼你使用'[Required]'標籤以及誰能幫助我? –

+1

這是用於服務器端模式驗證。當數據發佈到服務器時,模型驗證framewok可以驗證發佈的數據。標記助手還將使用此屬性來生成jQuery客戶端驗證所需的html5屬性。請記住,不要信任來自客戶端的數據。始終在服務器上進行驗證。如果您不想使用模型驗證框架,則可以簡單地刪除'Required'屬性 – Shyju