1

2 つのデータリストがあります。1 つは、リンクをクリックして別のデータリストを埋めるメニューのように機能します。メニューデータリストを使用して変更する必要がないように、異なる「ページ」間を移動するための次および前のリンクボタンも追加しました。

データベースから取得する値に応じてコード ビハインドに、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>&nbsp;</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>
4

2 に答える 2

1

問題を解決したと思っていましたが、チェックを停止しました。

于 2009-03-15T19:31:53.073 に答える
0

したがって、ケース 2 では、空でない数字とスペースの任意の文字列を受け入れます。

それはあなたの意図ですか?

于 2009-03-15T19:09:47.710 に答える