1)代碼後面應執行轉換
- 例如,輸入串(從txtDateOfBirth)爲日期時間或日期時間?
2)業務邏輯應檢查業務規則
3)方法應該是
InsertUser(User user) {}
或
InsertUser(string firstName, string lastName, DateTime or DateTime? dateOfBirth) {}
您可以看到.Net Framework主要使用強類型參數而不是字符串和對象。
如果您不想傳遞可爲空的值,則可以使用以下DotNetNuke中使用的方法。
public class Null
{
public static int NullInteger
{
get { return -1; }
}
public static decimal NullDecimal
{
get { return decimal.MinValue; }
}
public static DateTime NullDate
{
get { return DateTime.MinValue; }
}
...
}
編輯 - 根據你的要求,我說後面的代碼。這不是一種真正的模式;這只是一個人的偏好。
public string FirstName
{
get { return FirstNameTextBox.Text; }
}
public string LastName
{
get { return LastNameTextBox.Text; }
}
public DateTime DateOfBirth
{
get
{
DateTime d;
return DateTime.TryParse(DateOfBirthTextBox.Text, out d) ?
d : Null.NullDate;
}
}
protected void SaveButton_Click(object sender, EventArgs e)
{
try
{
var user = new Users()
{
FirstName = this.FirstName,
LastName = this.LastName,
DateOfBirth = this.DateOfBirth
};
UserService.InsertUser(user);
...
}
Catch (Exception ex)
{
// Log error
}
}
來源
2012-10-24 14:15:17
Win
我不認爲使用Telerik是一種選擇,也不是編寫JavaScript。但是這個第二個選項似乎是我一直在尋找的東西。好的,可以說我建立驗證器,這是很容易的部分。現在的問題是:我的數據註釋是什麼?我真的不喜歡數據註釋我的業務類的想法。註釋來自服務的視圖模型是否有意義並以ASPX形式顯示? –