この単純な例が機能しない理由が本当にわかりません:Sスクリプトを含むWebアプリケーションがあります:
function myAlert() {
$("#Button1").click(function () {
alert("Hello world!");
});
}
私のASPページには、この簡単なコードがあります
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Graph.aspx.cs" Inherits="WebApplication.Graph" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:Button ID="Button1" runat="server" Text="Button" Width="100px"/>
</asp:Content>
最後に、スクリプトを cs に登録します。
protected override void OnPreLoad(EventArgs e)
{
Page.ClientScript.RegisterClientScriptInclude("jQuery",
ResolveUrl(@"Scripts\jquery-1.4.1.js"));
Page.ClientScript.RegisterClientScriptInclude("jMyAlert",
ResolveUrl(@"Scripts\MyAlert.js"));
// check if the start up script is already registered with a key
if(!Master.Page.ClientScript.IsStartupScriptRegistered("jMyAlert"))
{
// since it is not registered, register the script
Master.Page.ClientScript.RegisterStartupScript
(this.GetType(), "jMyAlert", "myAlert();", true);
}
}
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "jMyAlert", "myAlert()", true);
}
これの何が問題なのかわかりません。aspx 内に直接 scrit を含めようとしましたが、何もしませんでした。次に、単純な html ページを試してみると、問題なく動作します。
自分のページで jQuery を使用してプロット ライブラリを使用したいので、このような単純な例で多くの問題が発生する場合、成功するにはほど遠いです...笑