0

您好我正在使用 jquery 从我在 ASP.NET 中的服务器标记中获取值。所有这些 javascript 都在同一页面上。我试过这个

 <asp:TextBox ID="LastNameTextBox" runat="server" Text='<%# Bind("LastName") %>' />

和jQuery

$("#<\%=LastNameTextBox.ClientID%>").val()

请注意,我必须转义 % 以便整个引号成为一个字符串。我不知道为什么会这样;我看到的例子不需要转义 %. 我还在另一篇文章中发现我应该使用该课程,所以我这样做了

<asp:Label ID="LastNameLabel" runat="server" Class = LastNameClass" Text='<%# Bind("LastName") %>' />

jquery就是这个

$(".LastNameClass").val()

这让我更进一步,但它返回给我的是函数而不是值。我将 val() 更改为 text() 什么都没有。我认为这是因为我正在绑定数据并且标签位于我在表单中使用的模板中?关于我接下来应该尝试什么的任何见解或建议?

编辑:这是代码

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:LinqDataSource ID="LinqDataSource1" runat="server" 
        ContextTypeName="SchoolDataContext" EnableUpdate="True" EntityTypeName="" 
        TableName="People">
    </asp:LinqDataSource>
    <asp:FormView ID="FormView1" runat="server" AllowPaging="True" 
        DataKeyNames="PersonID" DataSourceID="LinqDataSource1">
        <EditItemTemplate>
            PersonID:
            <asp:Label ID="PersonIDLabel1" runat="server" class="PersonalIDLablel1" Text='<%# Eval("PersonID") %>' />
            <br />
            LastName:
            <asp:TextBox ID="LastNameTextBox" runat="server" class="LastNameClass1" onBlur="textBlur();"
                Text='<%# Bind("LastName") %>' />
            <br />
            FirstName:
            <asp:TextBox ID="FirstNameTextBox" runat="server" 
                Text='<%# Bind("FirstName") %>' />
            <br />
            HireDate:
            <asp:TextBox ID="HireDateTextBox" runat="server" 
                Text='<%# Bind("HireDate") %>'  />
            <br />
            EnrollmentDate:
            <asp:TextBox ID="EnrollmentDateTextBox" runat="server" 
                Text='<%# Bind("EnrollmentDate") %>' />
            <br />

            <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" 
                CommandName="Update" Text="Update" />
            &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancel" />
        </EditItemTemplate>

        <ItemTemplate>
            PersonID:
            <asp:Label ID="PersonIDLabel" runat="server" class="PersonalIDLablel" Text='<%# Eval("PersonID") %>' />
            <br />
            LastName:
            <asp:Label ID="LastNameLabel" runat="server" class="LastNameClass" Text='<%# Bind("LastName") %>' />
            <br />
            FirstName:
            <asp:Label ID="FirstNameLabel" runat="server" Text='<%# Bind("FirstName") %>' />
            <br />
            HireDate:
            <asp:Label ID="HireDateLabel" runat="server" Text='<%# Bind("HireDate") %>' />
            <br />
            EnrollmentDate:
            <asp:Label ID="EnrollmentDateLabel" runat="server" 
                Text='<%# Bind("EnrollmentDate") %>' />

           <hr/>
            <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" 
                CommandName="Edit" Text="Edit" />
        </ItemTemplate>
    </asp:FormView>
</form>
4

1 回答 1

2

您可以使用text()html()

<asp:Label runat="server" ID="LastNameLabel" Text="This is a text" 
  ClientIDMode="Static"></asp:Label>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        var text = $("#LastNameLabel").text();
        alert(text);
    });
</script>

更新:

确保使用ClientIDMode="Static",因为LastNameLabel的 ID 在 之外不可用FormView

然后你可以#LastNameLabel在 jQuery 选择器中使用。

于 2013-06-11T23:21:42.877 回答