在ASPX页面中使用脚本

时间:2018-05-31 03:48:11

标签: javascript c# jquery asp.net

所以我在ASPX页面中有这个代码。我试图在同一页面的文本框中使用它,但没有成功。但是,我可以在我的母版页的文本框中使用该脚本吗?任何帮助将不胜感激,谢谢

<asp:Content runat="server" ID="FeaturedContent" 
ContentPlaceHolderID="FeaturedContent">

<script src="jquery-1.12.1.js"></script>
<script src="jquery-ui.js"> </script>
<link href="jquery-ui.css" rel="stylesheet" />

<script type="text/javascript">
    $(document).ready(function () {
        $('#txtStationName').autocomplete({
            source: 'StationHandler.ashx'
        });
    });
</script>

 <asp:TextBox ID="txtStationName" runat="server">
 </asp:TextBox>

4 个答案:

答案 0 :(得分:5)

由于您的<asp:TextBox ID="txtStationName" runat="server">是服务器端组件。 .NET将使用您的ID附加特定值。这种情况可能有两种解决方案。

1)您可以使用ClientIDMode="Static"使生成的ID保持一致

<asp:Content runat="server" ID="FeaturedContent" 
ContentPlaceHolderID="FeaturedContent">

<script src="jquery-1.12.1.js"></script>
<script src="jquery-ui.js"> </script>
<link href="jquery-ui.css" rel="stylesheet" />

<script type="text/javascript">
    $(document).ready(function () {
        $('#txtStationName').autocomplete({
            source: 'StationHandler.ashx'
        });
    });
</script>

<asp:TextBox ID="txtStationName" runat="server" ClientIDMode="Static">
</asp:TextBox>

2)或者从开发者控制台找到在DOM上生成的确切ID,并在该元素上使用js。

答案 1 :(得分:2)

asp.net编译器将更改文本框的ID。为了防止这种情况,您需要执行以下操作:

<asp:TextBox ID="txtStationName" runat="server" ClientIdMode="static">

</asp:TextBox>

答案 2 :(得分:1)

我建议您在代码中尝试使用classname

 <asp:TextBox CssClass="uniquetxtStationName" ID="txtStationName" runat="server">
 </asp:TextBox>

并在脚本中使用它:

$('.uniquetxtStationName').autocomplete({
    source: 'StationHandler.ashx'
});

背后的原因:aspx将更新您的所有服务器标签ID,因此您无法直接将标签的实际ID用于javascript函数。

答案 3 :(得分:0)

你有两个工作选择,一个是另一个是类

<asp:TextBox CssClass="clstext" ID="txtauto" runat="server"> </asp:TextBox>

您使用的课​​程

$('.clstext').autocomplete({
source: 'StationHandler.ashx'

});

如果您使用id

<asp:TextBox ID="txtStationName" runat="server" ClientIdMode="static">

$('.txtStationName').autocomplete({
source: 'StationHandler.ashx'
});