ASP.NETページでjavascriptを使用してクライアント側の検証を行いたいです。
使ってみた
<script src="../../../JS/Registration.js" language="javascript" type="text/javascript" />
しかし、機能していません。助けてください。
おそらくファイルは指定されたパスにありません。 「../../../」は、ページが配置されているディレクトリに3ステップ移動し、JSという名前のフォルダでjsファイルを探します。
また、language属性は非推奨です。
スクリプト を参照してください:
18.2.1 SCRIPT要素
language
=cdata[ [〜#〜] ci [〜#〜] ]非推奨この属性は、この要素のコンテンツのスクリプト言語を指定します。その値は言語の識別子ですが、これらの識別子は標準ではないため、この属性は 非推奨 になり、タイプが優先されます。
Edit
変更してみてください
<script src="../../../JS/Registration.js" language="javascript" type="text/javascript" />
に
<script src="../../../JS/Registration.js" language="javascript" type="text/javascript"></script>
ページが深くパスされているか、移動する可能性があり、JSスクリプトがWebフォルダーの「〜/ JS/Registration.js」にある場合は、次のことを試すことができます。
<script src='<%=ResolveClientUrl("~/JS/Registration.js") %>'
type="text/javascript"></script>
のように追加
<head runat="server">
<script src="Registration.js" type="text/javascript"></script>
</head>
または、コードビハインドを追加できます。
Page.ClientScript.RegisterClientScriptInclude("Registration", ResolveUrl("~/js/Registration.js"));
MasterPageを使用していると想定しているため、マスターページ内で
<head runat="server">
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
そしてそれに基づいてあなたのページのいずれかにMasterPageこれを追加
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src="js/yourscript.js" type="text/javascript"></script>
</asp:Content>
ScriptManager
コントロールは、javascriptファイルの参照にも使用できます。 1つの問題は、ScriptManager
コントロールをform
タグ内に配置する必要があることです。私自身はScriptManager
コントロールを好み、通常はform
タグのすぐ上に配置します。
<asp:ScriptManager ID="sm" runat="server">
<Scripts>
<asp:ScriptReference Path="~/Scripts/yourscript.min.js" />
</Scripts>
</asp:ScriptManager>
Fiddler を使用して、何が起こっているのかを確認します。次に、それに応じてパスを変更します。おそらく404エラーが発生し、パスが間違っていることがわかります。