使用ASP.NET在BLL中进行服务器端验证

时间:2013-12-06 07:17:15

标签: c# asp.net

我正在使用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

1 个答案:

答案 0 :(得分:0)

这是好主意,但ModelState对象只能在asp.net MVC应用程序中使用。如MSDN中所述,此对象是System.Web.Mvc。

的一部分