我向我的InsertItemTemplate添加了一個RequiredFieldValidator,它似乎工作正常。但是,我遇到的問題是,現在我無法在ListView中執行其他任何操作(如編輯或刪除項目),除非必需的字段有值。有什麼辦法可以在用戶單擊InsertItemTemplate上的'插入'按鈕或我可以執行的一些其他小技巧時手動進行驗證,以便用戶不必首先輸入值即可刪除其他內容列表?在ListView插入/編輯模板中驗證控件
感謝
我向我的InsertItemTemplate添加了一個RequiredFieldValidator,它似乎工作正常。但是,我遇到的問題是,現在我無法在ListView中執行其他任何操作(如編輯或刪除項目),除非必需的字段有值。有什麼辦法可以在用戶單擊InsertItemTemplate上的'插入'按鈕或我可以執行的一些其他小技巧時手動進行驗證,以便用戶不必首先輸入值即可刪除其他內容列表?在ListView插入/編輯模板中驗證控件
感謝
是, 設置CausesValidation屬性爲false,你不希望他們觸發驗證控件。
A_Nablsi,
請提供代碼,您的解決方案打開插入新的驗證控件在斷電時編輯/更新模式或將編輯/更新驗證控件關閉時,無論是編輯和插入行處於活動狀態,同時。這個使用你的理論解決方案的代碼失敗了,並且對updateButton有一個空引用。
LinkButton updateButton = LVTasks.EditItem.FindControl("UpdateButtonTask") as LinkButton;
updateButton.CausesValidation = false;
的作品是增加確認團組的解決方案。
在EditItemTemplate和Update按鈕中包含ValidatorGroup =「myVGEdit」和您的Validator控件。
將ValidationGroup =「myVGInsert」與Validator控件包含在InsertItemTemplate和Insert按鈕中。
<asp:ListView ID="LVTasks" runat="server"
DataKeyNames="IDTask"
DataSourceID="LDS_LVTasks"
InsertItemPosition="FirstItem"
oniteminserting="LVTasks_ItemInserting"
onitemupdating="LVTasks_ItemUpdating"
onitemcommand="LVTasks_ItemCommand"
>
<EditItemTemplate>
<asp:TextBox ID="TaskUpdateTextBox" runat="server"
Text='<%# Bind("Task") %>'
TextMode="MultiLine" Rows="1" Font-Bold="true" Width="300px"
/>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="Please Set Task title"
ControlToValidate="TaskUpdateTextBox"
ValidationGroup="myVGUpdate"
/>
<asp:LinkButton ID="UpdateCancelButton" runat="server"
CommandArgument='<%#Eval("IDTask") %>'
CommandName="Cancel"
CausesValidation="False"
ToolTip="Cancel - Abort - No Changes"><div class="Cancel"></div></asp:LinkButton>
<asp:LinkButton ID="UpdateButtonTask" runat="server"
CommandArgument='<%#Eval("IDTask") %>'
CommandName="Update"
CausesValidation="True"
ValidationGroup="myVGEdit"
ToolTip="Save Changes - Update"><div class="Update" ></div></asp:LinkButton>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TaskInsertTextBox" runat="server" Text='<%# Bind("Task") %>'
TextMode="MultiLine" Rows="1" Font-Bold="true" Width="300px"
/>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="Please Set Task title"
ControlToValidate="TaskInsertTextBox"
ValidationGroup="myVGInsert"
/>
<asp:LinkButton ID="CancelButton" runat="server"
CommandArgument='<%#Eval("IDTask") %>'
CommandName="Cancel"
CausesValidation="False"><div class="Clear" ></div></asp:LinkButton>
<asp:LinkButton ID="InsertButtonTask" runat="server"
CommandArgument='<%#Eval("IDTask") %>'
CommandName="Insert"
CausesValidation="true"
ValidationGroup="myVGInsert"
><div class="Insert" ></div></asp:LinkButton>
</InsertItemTemplate>
太棒了!謝謝。 – Curtis 2010-10-29 16:24:19
:)不客氣,祝你好運。 – 2010-10-29 16:34:41