簡體   English   中英

在ASPX頁面中使用腳本

[英]Using script within ASPX page

所以我在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>

由於<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。

asp.net編譯器將更改您的文本框的ID。 要防止這種情況,您需要這樣做:

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

</asp:TextBox>

我建議你在代碼中嘗試使用classname

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

並在腳本中使用它:

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

這背后的原因:aspx將更新您的所有服務器標簽ID,因此您無法直接將標簽的實際ID用於javascript函數。

你有兩個工作選擇,一個是另一個是類

<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'
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM