C# ASP.NET:使用基于自定义属性的JQuery在中继器内获取标签

C# ASP.NET:使用基于自定义属性的JQuery在中继器内获取标签,c#,javascript,jquery,asp.net,web,C#,Javascript,Jquery,Asp.net,Web,我读了很多关于这方面的解决方案和博客,但仍然无法完成 我的代码中有一个中继器,它在ItemTemplate中有标签。我需要对按钮单击事件的文本框中输入的值进行客户端验证(使用jQuery)。我想访问标签中的一些值,以便在文本框中输入的值和标签文本之间进行比较。现在,我在标签和文本框中都添加了一个名为datakey的自定义属性,这样比较就很容易了 我访问文本框并获取datakey属性。 我得到数据键值与textbox相同的标签,并进行比较 现在在Jquery中,我无法访问该标签 这是我在Jquer

我读了很多关于这方面的解决方案和博客,但仍然无法完成

我的代码中有一个中继器,它在ItemTemplate中有标签。我需要对按钮单击事件的文本框中输入的值进行客户端验证(使用jQuery)。我想访问标签中的一些值,以便在文本框中输入的值和标签文本之间进行比较。现在,我在标签和文本框中都添加了一个名为datakey的自定义属性,这样比较就很容易了

我访问文本框并获取datakey属性。 我得到数据键值与textbox相同的标签,并进行比较

现在在Jquery中,我无法访问该标签

这是我在Jquery中写的:

var lbl = $("label").find("[datakey='" + expID + "']");
ASP代码

<table class="tblDispData">
    <asp:Repeater ID="PrjBudgetDetails" runat="server" ClientIDMode="Static">
        <HeaderTemplate>
            <tr>
                <th class="thDataDisp">
                    <asp:Label ID="LbExpType" runat="server" Text="Expenditure Type" CssClass="LbTblDataDisp"
                        Font-Bold="true"></asp:Label>
                </th>
                <th class="thDataDisp">
                    <asp:Label ID="LbAllocatedBudget" runat="server" Text="Allocated Budget" CssClass="LbTblDataDisp"
                        Font-Bold="true"></asp:Label>
                </th>
                <th class="thDataDisp">
                    <asp:Label ID="LbAvailedBudget" runat="server" Text="Available Budget" CssClass="LbTblDataDisp"
                        Font-Bold="true"></asp:Label>
                </th>
                <th class="thDataDisp">
                    <asp:Label ID="LbRequestedBudget" runat="server" Text="Budget Requested" CssClass="LbTblDataDisp"
                        Font-Bold="true"></asp:Label>
                </th>
            </tr>
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
                <td class="tdDataDisp">
                    <asp:Label ID="ExpTypeText" runat="server" Text='<%#Eval("ExpType") %>' CssClass="LbTblDataDisp"
                        AssociatedControlID="BudgetRequestedText"></asp:Label>
                </td>
                <td class="tdDataDisp">
                    <asp:Label ID="BudgetAllocatedText" runat="server" Text='<%#Eval("BudgetAllocated") %>'
                        CssClass="LbTblDataDisp" AssociatedControlID="BudgetRequestedText"></asp:Label>
                </td>
                <td class="tdDataDisp">
                    <asp:Label ID="BudgetAvailableText" runat="server" dataKey='<%#Eval("ExpID") %>'
                        Text='<%#Convert.ToDouble(Eval("BudgetAllocated")) - Convert.ToDouble(Eval("BudgetAvailed")) %>'
                        CssClass="LbTblDataDisp" ClientIDMode="Static" AssociatedControlID="BudgetRequestedText"></asp:Label>
                </td>
                <td class="tdDataDisp">
                    <asp:TextBox ID="BudgetRequestedText" runat="server" dataKey='<%#Eval("ExpID") %>'
                        dataValue='<%#Eval("ExpType") %>' CssClass="tblDataInput"></asp:TextBox>
                </td>
            </tr>
        </ItemTemplate>
    </asp:Repeater>
    <tr>
        <td colspan="3">
            <span id="Legend1" class="frmInstructions" runat="server">Please enter zero(0) if not
                requesting budget for any particular expenditure. The currency is INR. </span>
        </td>
        <td>
            <asp:Button ID="prjBudgetSubmitBtn" runat="server" Text="Submit Budget" CssClass="formNext"
                ClientIDMode="Static" OnClick="prjBudgetSubmitBtn_Click" />
        </td>
    </tr>
</table>

如果不是,请输入零(0)
申请任何特定支出的预算。货币为印度卢比。
此处显示生成的标记

<table class="tblDispData">

                                <tr>
                                    <th class="thDataDisp">
                                        <span id="LbExpType" class="LbTblDataDisp" style="font-weight:bold;">Expenditure Type</span>
                                    </th>
                                    <th class="thDataDisp">
                                        <span id="LbAllocatedBudget" class="LbTblDataDisp" style="font-weight:bold;">Allocated Budget</span>
                                    </th>
                                    <th class="thDataDisp">
                                        <span id="LbAvailedBudget" class="LbTblDataDisp" style="font-weight:bold;">Available Budget</span>
                                    </th>
                                    <th class="thDataDisp">
                                        <span id="LbRequestedBudget" class="LbTblDataDisp" style="font-weight:bold;">Budget Requested</span>
                                    </th>
                                </tr>

                                <tr>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="ExpTypeText" class="LbTblDataDisp">Hardware</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAllocatedText" class="LbTblDataDisp">9.00</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAvailableText" class="LbTblDataDisp" dataKey="EXP001">7</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <input name="ctl00$pageMainContent$PrjBudgetDetails$ctl01$BudgetRequestedText" type="text" id="BudgetRequestedText" class="tblDataInput" dataKey="EXP001" dataValue="Hardware" dataAmount="7" />
                                    </td>
                                </tr>

                                <tr>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="ExpTypeText" class="LbTblDataDisp">Software</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAllocatedText" class="LbTblDataDisp">9.00</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAvailableText" class="LbTblDataDisp" dataKey="EXP002">9</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <input name="ctl00$pageMainContent$PrjBudgetDetails$ctl02$BudgetRequestedText" type="text" id="BudgetRequestedText" class="tblDataInput" dataKey="EXP002" dataValue="Software" dataAmount="9" />
                                    </td>
                                </tr>

                                <tr>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="ExpTypeText" class="LbTblDataDisp">Software AMC</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAllocatedText" class="LbTblDataDisp">9.00</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAvailableText" class="LbTblDataDisp" dataKey="EXP003">9</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <input name="ctl00$pageMainContent$PrjBudgetDetails$ctl03$BudgetRequestedText" type="text" id="BudgetRequestedText" class="tblDataInput" dataKey="EXP003" dataValue="Software AMC" dataAmount="9" />
                                    </td>
                                </tr>

                                <tr>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="ExpTypeText" class="LbTblDataDisp">Hardware AMC</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAllocatedText" class="LbTblDataDisp">9.00</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAvailableText" class="LbTblDataDisp" dataKey="EXP004">9</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <input name="ctl00$pageMainContent$PrjBudgetDetails$ctl04$BudgetRequestedText" type="text" id="BudgetRequestedText" class="tblDataInput" dataKey="EXP004" dataValue="Hardware AMC" dataAmount="9" />
                                    </td>
                                </tr>

                                <tr>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="ExpTypeText" class="LbTblDataDisp">UPS</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAllocatedText" class="LbTblDataDisp">9.00</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <label for="BudgetRequestedText" id="BudgetAvailableText" class="LbTblDataDisp" dataKey="EXP006">9</label>
                                    </td>
                                    <td class="tdDataDisp">
                                        <input name="ctl00$pageMainContent$PrjBudgetDetails$ctl05$BudgetRequestedText" type="text" id="BudgetRequestedText" class="tblDataInput" dataKey="EXP006" dataValue="UPS" dataAmount="9" />
                                    </td>
                                </tr>

                        <tr>
                            <td colspan="3">
                                <span id="pageMainContent_Legend1" class="frmInstructions">Please enter zero(0) if not
                                    requesting budget for any particular expenditure. The currency is INR. </span>
                            </td>
                            <td>
                                <input type="submit" name="ctl00$pageMainContent$prjBudgetSubmitBtn" value="Submit Budget" id="prjBudgetSubmitBtn" class="formNext" />
                            </td>
                        </tr>
                    </table>

支出类型
分配预算
可用预算
要求的预算
硬件
9
7.
软件
9
9
软件资产管理公司
9
9
硬件AMC
9
9
不间断电源
9
9
如果不是,请输入零(0)
申请任何特定支出的预算。货币为印度卢比。

提前感谢。

以下代码将为您提供相关标签

$("label[dataKey='" + expID + "']")

向我们展示一些生成的markupWell,尽管我已经找到了它,但我能够访问TextBox,因此我将该自定义属性添加到TextBox并进行了比较。我将发布显示标签标签的结果标记。中继器完全位于服务器端。它对客户端有两个影响:(1)根据您的ClientMode更改控件的客户端ID;(2)在ItemTemplate中重复控件。我经常发现,通过分配CSS类来验证中继器中的控件是最容易的。当值不依赖于任何东西时,这种方法尤其有效