ASP.net の OnClientClick エラーの原因と解決方法

このQ&Aのポイント
  • 現在、Visual Studio 2008のツールを使用して、.net fw1.1から.net fw3.5への変換を行っていますが、ASP.netのASP:BUTTONでOnClientClickを使用すると、画面表示時にランタイムエラーが発生します。
  • 新規のソリューション(プロジェクト)で上記の問題は起こらず、正常に起動します。
  • お手数ですが、上記のエラーの原因がわかる方がいらっしゃいましたら、ご教授をお願いします。
回答を見る
  • ベストアンサー

ASP.net の OnClientClick

お世話になっております。 現在 Visual studio 2008のツールで.net fw1.1から.net fw3.5へ変換ウィザードを用いたあと 手修正を行っております。 そのとき不明なエラーが発生いたしました。  ASP.net のASP:BUTTONで OnClientClick を用いると  画面表示時にランタイムエラーとなる。  PG記載例:     <asp:Button ID="Button1" Runat="server"     OnClientClick='alert("test");' Text="Test Client Click" />  また、新規のソリューション(プロジェクト)で上記を試すと問題なく起動します。 上記の事象の原因がわかる方がいらっしゃいましたら ご教授をお願いします。 環境 Visual studio 2008 .net fw 3.5 C# IE7

  • ukatu
  • お礼率41% (15/36)

質問者が選んだベストアンサー

  • ベストアンサー
  • shockatz
  • ベストアンサー率80% (153/191)
回答No.1

OnClientClinkというのはあくまで、ASP.NET側の構文なので、 OnClientClink = OnClientClick='alert("test");' は、 OnClientClink = OnClientClick="alert('test');" の間違いじゃないでしょうか? .NET1.1時代に何で通っていたのか不明ですが。

ukatu
質問者

補足

ご回答ありがとうございます。 ご指摘の件ですが、まっさらのwebフォームで試すとと 問題なく動くのです。

関連するQ&A

  • ASP

    ASPのNETのButtonコントロールについて for文で <asp:Button ID="Button3" runat="server" onclick="SubmitBtn_Click" Text="注文する" Width="110px"/> を繰り返して複数個のボタンを作ったのですがそれぞれ個別した動作を設定できずどのボタンを押しても同じ動きしかしてくれません。なんとか別々に動作を決定することはできないんでしょうか?

  • ASP.NET web アプリケーションでの入力検証に関して質問です

    ASP.NET web アプリケーションでの入力検証に関して質問です 当方.NET、オブジェクト指向言語初心者です 検討違いなことを質問しているかもしれませんが 回答いただけたら幸いです 以下を使用しています visual studio 2008 .NET Framework 3.5 C# 新規プロジェクト作成時に ASP.NET web アプリケーションを選択し、 (ASP.NET MVC等ではなく) TextBox Button を配置し Buttonを押下した時に TextBoxに何も入力されていなかった場合 エラーメッセージを表示するような入力検証を System.ComponentModel.DataAnnotations を用いて行いたいと考えています (RequiredFieldValidatorではなく) Q1 新規プロジェクト作成時にASP.NET web アプリケーションを選択した場合 System.ComponentModel.DataAnnotations を用いて入力検証はおこなえるのでしょうか? (webで検索したところASP.NET MVCやSilverlightのサンプルはあったのですが・・・) Q2 Q1がYESの場合 具体的にはどう実装すればよいのでしょうか? 以下にソースを記載します ■Defaoult.Aspx <%@ Page Title="ホーム ページ" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %> <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> </asp:Content> <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator> <br /> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> </asp:Content> ■Default.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel.DataAnnotations;  //←※ namespace WebApplication2 { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { } } } ※ 参照の追加で System.ComponentModel.DataAnnotations を追加して usingで定義するところまでは検討がつきました 以上、宜しくお願い致します

  • getElementByIdでASP.NETのTextBoxを取得できない

    以下のようなJavaScriptのソースで、 TextBoxの値を取得しようとしています。 ------------------------------------------- 【ASP.NET】 <asp:TextBox ID="txtTemp_Jigyo" runat="server" ReadOnly="True">DataTemp</asp:TextBox> 【JavaScript】 var strData = document.getElementById("txtTemp"); alert(strData); var strDataValue = strData.value; alert(strDataValue ); ------------------------------------------- 実行すると4行目でエラーとなっているようで、 また、2行目のalertではobjectではなく、nullが返ってきています。 ほぼ、同環境の別PGでは正常に取得できているのですが、 なにかASP.NET or JavaScriptの記述に問題がある可能性はありませんか? よろしくおねがいします。

  • ASP.Net ボタン縦書きにしたい

    大変お世話になります。 日夜ASP.Net の勉強をしております初心者でございます。 ボタンコントロールの形状の理由でテキストを縦書きにしたいと思っております。 サイトを調べてみると、 <asp:Button ID="Button1" runat="server" Text="縦書きテスト" Style="writing-mode:tb-rl;" /> という情報を得たのですが、実際この Style="writing-mode:tb-rl;" を記述すると、 writing-mode は認識できるCSSプロパティ名ではありません。 と、エラーになってしまいます。わたくしの記述が間違いなのか、他に方法があるのか、 何卒お教え願えないでしょうか? 何卒よろしくお願いいたします。

  • 【ASP.NET】 Buttonコントロールについて

    お世話になります。ASP.NETのButtonコントロールに関する質問です。 Visual Studio 2008でASP.NETの開発を行っているのですが、 左のツールボックスにButtonコントロールが2つ存在します。 1. 標準コントロールのButtonコントロール 2. HTMLコントロールのButtonコントロール 上記いずれも最終的にHTMLの<Button>タグにレンダリングされる と思うのですが、何が違うのでしょうか? 使い分け方について教えてください。

  • <asp>タグの属性情報が取得できない

    いつも利用させていただいております。 宜しくお願いします。 今、VS2005のASP.NETを使用してプログラミングをしているのですが どうしてもタグの属性情報が取得できないため、ご存知の方が おりましたら是非アドバイスを・・・と思い投稿させていただいています。 以下にソースを記載いたします <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>test</title> <script language="javascript" type="text/javascript"> <!-- function test(){ alert(document.getElementById("Label1").getAttribute('Visible')); } // --> </script> </head> <body> <form id="form1" runat="server"> <div> <asp:DropDownList ID="DropDownList1" runat="server"> </asp:DropDownList> <asp:Label ID="Label1" runat="server" Text="Label" Visible="true"> </asp:Label> </div> </form> </body> </html> 上記ソースで「getElementById("Label1").getAttribute('Visible')」と言う部分が今回のターゲットです。 通常のHTMLタグ(div,・・・・)ですとなんら問題なくそれぞれの属性を取得できるのですが、こと<asp: タグで始まる属性を取得しようとすると・・・  ID→取得できました。  text→取得できません。  Visible→取得できません。 上記状態となってしまいます。 そこでご質問です。 ・<asp:タグの属性は[getAttribute]で取得できないのでしょうか? ・もし、取得できない場合は、何とか[Visible]をOnClickイベントで  "false"にしたいと考えています。 以上です。もしご存知の方がいましたら、なにとぞご教授の程 宜しくお願いします。 環境  WindowXP  VS2005 EnterPriseEdition  SQLServer2005

  • ASP.NETのWEB画面

    ASP.NETでWEB画面作成しているのですが、かなり遅いです。 早くする方法があれば教えて下さい。 「Visual Studio 2003」と「Visual Studio 2005」を使っています。 どちらで作っても遅いです。 データサーバーはSQLServerとAccessを使っています。 プログラミングはVBを使用しています。 よろしくお願いします。

  • Visual Studio.Net 2003の”ASP.NET Web

    Visual Studio.Net 2003の”ASP.NET Web アプリケーション”が起動出来ない?   上記の”ASP.NET Web アプリケーション”を起動すると、以下のようなメッセージがでてきて 起動できません。 <エラー内容> 【ASP.NET バージョンの不一致】 Web サーバーで ASP.NET Version 1.0 が実行されいています。 作成したり開こうとしている Web アプリケーションは、ASP.NET 1.0 に準拠するように構成できます。 ただし、ASP.NET 1.1 の新機能をこのアプリケーションで使用することはできなくなります。 ----------------------------------------------------------------------------- 実行する操作 ●アプリケーションを開かないで、続行する前に、サーバー上の ASP.NET を最新バージョンにアップグレードする (推奨) ○アプリケーションを ASP.NET Version 1.0 に準拠させる そこで、●アプリケーションを開かないで、続行する前に、サーバー上の ASP.NET を最新バージョンにアップグレードする (推奨) を実行すると何も起きず、通常の画面に戻ってしまいます。 ちなみに、環境は以下のようになっています。 OS:Windows7 サーバー:Windows Server 2003 ツールソフト:Visual Studio.NET 2003 です。 どうすれば、起動できるのか、詳しい方のご回答をお待ちしております。

  • クリックしたボタンのIDの取得

    あるプログラムをASP.NETとC#で作っています。 ASP側に、 <asp:ImageButton ID="btn1" runat="server" onclick="btn_Click" /> <asp:ImageButton ID="btn2" runat="server" onclick="btn_Click" /> <asp:Label ID="label1" runat="server" Text=""></asp:Label> とある場合に、btn1とbtn2、押された方のID名をlabel1に表示するには、btn_Clickイベントにはどう書けば良いでしょうか?

  • Buttonの処理について

    aspのButtonの処理をクライアント側(javascript)だけで実行出来ますか? 出来る場合、どのような記述をすればいいでしょうか? <asp:Button ID="btnHenko" runat="server" Text="実行" OnClientClick=" btn_Click" UseSubmitBehavior="false" だけ記述したところ、サーバー側の処理が走ってしまいます。

専門家に質問してみよう