[英]How to validate FormView data when using EnableModelValidation?
我正在嘗試使用FormView
並希望驗證服務器端的一些數據。 我正在嘗試使用屬性EnableModelValidation
但MSDN對此非常不完整。
我看到了一個aproach ( 但是關於Dynamic Data而不僅僅是ObjectDataSource ),你拋出一個ValidationException
,如果你有ValidationSummary
它會處理它。 不幸的是,它與黃色錯誤頁面崩潰而不是顯示摘要。
以下是我的課程:
namespace FormViewTest
{
[DataObject]
public class Person
{
private int age;
[DataObjectField(false)]
public int Age
{
get { return age; }
set
{
if (value < 0)
{
throw new ValidationException("Invalid age");
}
age = value;
}
}
public void Insert(Person p)
{ }
public Person Get()
{
return new Person();
}
}
}
和aspx:
<asp:FormView runat="server"
DataSourceID="ObjectDataSource1"
DefaultMode="Insert"
EnableModelValidation="true">
<InsertItemTemplate>
Age:
<asp:TextBox ID="AgeTextBox" runat="server"
Text='<%# Bind("Age") %>' />
<br />
<asp:LinkButton ID="InsertButton" runat="server"
CommandName="Insert"
Text="Insert" />
</InsertItemTemplate>
</asp:FormView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
DataObjectTypeName="FormViewTest.Person"
InsertMethod="Insert" SelectMethod="Get"
TypeName="FormViewTest.Person"></asp:ObjectDataSource>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" />
我試圖在我提到的文章中添加其他控件,但它沒有做任何事情:
<asp:DynamicValidator ErrorMessage="Error" runat="server"
ControlToValidate="ObjectDataSource1" />
我希望有人可以幫我使用這個EnableModelValidation
因為我找不到關於它的官方文檔。
除非您使用的是FormView的DynamicData版本,否則啟用該屬性不會執行任何操作請參閱此內容以獲得有關使用ASP.NET動態數據腳手架以及一些有用鏈接的更好說明
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.