我有一個gridView如下。如何啓用禁用基於頁面控件的驗證器?
<asp:GridView ID="grvLocationCash" runat="server" AutoGenerateColumns="false" CssClass="gridtable" DataKeyNames="LocationId">
<Columns>
<asp:BoundField HeaderText="Location Name" DataField="LocationName" />
<asp:TemplateField HeaderText="Amount">
<ItemTemplate>
<asp:TextBox ID="txtAmount" runat="server" CssClass="txtbox" Visible="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvAmount" runat="server" ControlToValidate="txtAmount" ErrorMessage="Please enter the Amount" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="rgvAmount" runat="server" ControlToValidate="txtAmount" ValidationExpression="^\d+$" ErrorMessage="Please enter whole numbers only" Display="Dynamic" SetFocusOnError="true"></asp:RegularExpressionValidator>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
和一個保存按鈕,下面的代碼。
<asp:Button ID="btnLocationAmountList" runat="server" OnClick="btnLocationAmountList_Click" Text="Save" Width ="100px" />
在gridview被綁定後,其中有大約20行。 當我在第一行的文本框中輸入數字,然後按Enter鍵轉到第二個文本框時,將爲所有其他19行觸發必填字段驗證程序。
但是,如果我在第一個文本框中鍵入數字,然後用鼠標單擊下一個文本框,則不會觸發RequiredFieldValidator。
只有單擊保存按鈕,才能驗證該頁面。保存前必須爲所有文本框輸入值,並且所有值必須僅爲整數。 (11,125,6589等)。 如何啓用特定控件的禁用驗證器?
更新:這裏是我的類文件中的page_load事件代碼。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindGrid();
}
}
protected void BindGrid()
{
FinanceServiceRef.FinanceServiceClient obj = new FinanceServiceRef.FinanceServiceClient("WSHttpBinding_IFinanceService");
var ds = obj.ViewLocationAmountCashManagement();
grvLocationCash.DataSource = ds;
grvLocationCash.DataBind();
}
_「按Enter鍵進入第二個文本框」_'Webforms!= winforms'。如果按回車則默認提交頁面。 –
恐怕不是@TimSchmelter。如果它是回發問題,我的page_load函數也不會被命中。 – Mahe
請參閱我的更新後的問題@TimSchmelter – Mahe