두 명의 데이터리스트가 있습니다. 하나는 데이터 목록을 채우기 위해 링크를 클릭하는 메뉴처럼 작동합니다. 메뉴 데이터리스트를 사용하여 변경할 필요가 없도록 다른 "페이지"사이를 이동하기 위해 다음 및 이전 링크 버튼을 추가했습니다.RegularExpressionValidator가 다음 페이지로 이동하지 못합니다.
데이터베이스에서 가져온 값에 따라 코드가 뒤떨어 지므로 RegularExpressionValidator를 추가합니다.
다음 버튼 (또는 그 문제에 대해서는 이전)을 사용하기 전까지는이 방법이 유용합니다. 검사 된 모든 컨트롤이 RegularExpressionValidator와 비교할 때 유효하더라도 새 값을로드하지 않습니다. 다음 버튼과 이전 버튼은 데이터리스트가 선택한 인덱스 변경 이벤트를 발생시킨 다음 클릭 한 이전 또는 다음 버튼인지 확인합니다.
그러나 이전 및 다음 버튼은 감각이 없습니다. 그들은 심지어 행사를 해고하지 않습니다. 배경을 클릭하는 것과 같습니다. 아무 반응이 없습니다.
나는 PageIs.Valid를 채웠으며 사실입니다.
누군가이 문제를 일으킬 수있는 단서가 있습니까?
미리 감사드립니다.
아래 텍스트 중 일부는 스웨덴어이지만 코드는 중요하지 않습니다.
rev_checkfieldvalue.ControlToValidate = "tb_detailValue";
switch (iDataTypeId)
{
case 2:
rev_checkfieldvalue.ValidationExpression = @"^\d*[0-9 ]+$";
rev_checkfieldvalue.Text = "Fältet får endast innehålla siffror och mellanslag.";
break;
case 3:
break;
case 4:
break;
case 5:
rev_checkfieldvalue.ValidationExpression = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
rev_checkfieldvalue.Text = "Fältet får endast innehålla en e-postadress.";
break;
}
e.Item.Controls.AddAt(32, rev_checkfieldvalue);
<asp:DataList ID="dl_componentInfo" DataKeyField="ComponentId" runat="server" OnItemDataBound="dl_componentInfo_OnItemDataBound" OnItemCommand="dl_componentInfo_OnItemCommand">
<ItemTemplate>
<table>
<tr>
<td colspan="2"><asp:Label ID="lb_componentName" SkinID="lblHeader" runat="server" Text='<%# Eval("ComponentName") %>' /></td>
</tr>
<tr>
<td colspan="2">Fält markerade med * är obligatoriska</td>
</tr>
<tr>
<td> </td>
<td>
<asp:DataList ID="dl_details" OnItemDataBound="dl_details_OnItemDataBound" runat="server">
<ItemTemplate>
<table>
<tr>
<td colspan="2">
<asp:Label ID="lbl_detailName" Text='<%# Eval("DetailName") %>' runat="server"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lbl_custDetName" runat="server" />
</td>
<td align="left">
<%--Always hidden values--%>
<asp:Label ID="lbl_detailTypeId" Visible="false" Text='<%# Eval("DetailTypeId") %>' runat="server" />
<asp:Label ID="lbl_detailId" Visible="false" Text='<%# Eval("DetailId") %>' runat="server" />
<asp:Label ID="lbl_dataTypeId" Visible="false" Text='<%# Eval("DataTypeId") %>' runat="server" />
<asp:Label ID="lbl_customerEventValueId" Visible="false" Text='<%# Eval("CustomerEventValueId") %>' runat="server" />
<asp:Label ID="lbl_reqFld" Visible="false" Text='<%# Eval("ReqFld") %>' runat="server" />
<%--Sometimes visible values--%>
<asp:Label ID="lbt_detailValue" Visible="false" Text='<%# Eval("PresetDetailValue") %>' runat="server" />
<asp:Label ID="lbtb_detailValue" Visible="false" Text='<%# Eval("PresetDetailValue") %>' runat="server" />
<asp:Label ID="lbth_detailValue" Visible="false" Text='<%# Eval("PresetDetailValue") %>' runat="server" />
<asp:Label ID="lbc_detailValue" Visible="false" Text='<%# Eval("PresetDetailValue") %>' runat="server" />
<asp:DropDownList ID="dd_detailValue" Visible="false" runat="server"></asp:DropDownList>
<%--Om det ska gå att markera/avmarkera alla så använd AJAX--%>
<asp:CheckBoxList ID="cbl_detailValue" RepeatDirection="Horizontal" RepeatLayout="flow" Visible="false" runat="server" />
<asp:CheckBox ID="cb_detailValue" Visible="false" Text='<%# Eval("PresetDetailValue") %>' runat="server" />
<asp:TextBox ID="tb_detailValue" Visible="false" Text='<%# Eval("PresetDetailValue") %>' runat="server" />
<asp:TextBox ID="ta_detailValue" Visible="false" Text='<%# Eval("PresetDetailValue") %>' runat="server"></asp:TextBox>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</table>
</ItemTemplate>
<FooterTemplate>
<table width="600">
<tr>
<td>
<asp:LinkButton id="lb_previous" Text="Föregående" CommandName="Previous" runat="server"/>
</td>
<td>
<asp:LinkButton id="lb_next" Text="Nästa" CommandName="Next" runat="server"/>
</td>
</tr>
</table>
</FooterTemplate>
</asp:DataList>
흠, 필자는 필드가 채워진 상태에서 RequiredFieldVlidator처럼 작동한다고 생각했습니다. RegularExpressionValidators가 false를 반환하는지 확인해야합니까? – Fred
서버 측의 유효성을 다시 검사하는 것이 가장 좋습니다 (필수). 그러나 그것은 당신의 문제가 될 수 없습니다. –
이상한 점은 모든 컨트롤이 유효하다는 것입니다 (페이지에 유효하지 않은 텍스트 없음). 그러나 새 값은로드되지 않습니다. 나는 내가 여기서 기본적인 것을 놓치고 있다고 생각하고있다. 나는 내 페이지가 어떻게 작동하는지 보여 주거나 설명 할 것이다. – Fred