我正在使用asp.net中的3层架构在业务日志层(BLL)上执行服务器端验证。 我面临的问题是:我不知道这个“ModelState”是什么以及libararies / dll,我必须添加它才能获得它。我可以在product.aspx上执行服务器端验证。 cs文件,但我需要在BLL中完成。 我阅读了this question的每一个单词和链接,但没有得到任何帮助。请指导我如何获取ModelState,帮助我在ProductBL.cs文件中执行验证。
这是我的Product.aspx文件代码:
<asp:Label ID="lbProductName" AssociatedControlID="txtProductName"
runat="server">Product Name</asp:Label>
<asp:TextBox ID="txtProductName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
runat="server" ControlToValidate="txtProductName"
CssClass="field-validation-error" ErrorMessage="Required">
</asp:RequiredFieldValidator>
我的Product.aspx.cs文件代码:
protected void btnSaveProduct_Click(object sender, EventArgs e)
{
ProductBL productBL = new ProductBL();
Products product = new Products();
product.Name = txtProductName.Text;
productBL.SaveProduct(product);
}
我的实体文件代码:
public partial class Products
{
[Required(ErrorMessage = "Name is Required")]
[StringLength(10, ErrorMessage = "Must be under 10 characters")]
public string Name {get; set;}
}
我的ProductBL.cs文件代码:
private ProductsDA _da = new ProductsDA();
public bool SaveProduct(Products product)
{
if (ModelState.IsValid)
{
_da.Add(product);
//but don't know how to get ModelState
}
else
{
//show the respective page/error
}
}
请使用3层帮助在BLL中获得此 ModelState 。