• 締切済み

携帯サイトでリンクボタンクリックイベントが起きない

Visual web DeveloperでC#を使って開発しています。 モバイルサイトを作成しているのですが、リンクボタンをクリック時にクリックイベントが起こりません。 PCからリンクボタンをクリックすると正しく動作するのですが、携帯(AUのEZWEB)からリンクボタンをクリックすると「URLが正しくありません」と出てしまいます。何故でしょうか? 例: リンクボタンクリックイベント protected void LinkButtontn1_Click(object sender, EventArgs e) { text1.Text = "OK"; } PCからLinkButtontn1をクリックするとtext1のTextが"OK"になる。 携帯からだと「URLが正しくありません」と出るだけ。 宜しくお願い致します。

みんなの回答

  • onos
  • ベストアンサー率81% (127/155)
回答No.3

ASP.NET でResponse.Writeは気を付けないとHTMLタグより先にその内容が出力されてしまう、という問題があるので、基本としてはLiteralコントロールを使ってそこに自分で生成した文字列(HTML)を出力するのがよいかと思います。

noname#259269
noname#259269
回答No.2

No.1さんの回答と若干内容的にかぶりますが、 基本携帯サイト作る時は、サーバ側では Response.Write しまくる(HTMLを純粋に出力する)のが無難です。サーバコントロール利用する場合はどういう HTML になるのかよく調べる必要があります。 過去の携帯には JavaScript が使えないものもありますよ。そういう携帯は切り捨てるんでしょうか?

  • onos
  • ベストアンサー率81% (127/155)
回答No.1

リンクボタンの場合、スクリプトが自動生成されてそれが実行されることでPOSTを実行していたと思います。 まずはその動きをすることで問題がないか、の確認が必要かな。 あと、AU以外の携帯では正しく動くんでしょうか? 以前、AUだと相対パス中で上位への指定"../"を使っているとエラーになる、ということがありました。 もしかするとそのあたりがひっかかっているのかもしれません。 とりあえず気になるのはこのへんかなぁ。

関連するQ&A

  • イベントハンドラ関数について

    現在VC++/CLR 2005 でプログラミングをしています。 基本的な事柄かもしれませんが、質問させてください  以下の2つのボタンのイベントハンドラ関数があった場合 //ボタン1のイベントハンドラ関数 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) String^ str = textBox1->Text } //ボタン2のイベントハンドラ関数 private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { } ボタン2をクリックしたときの動作とボタン1の動作を同じにしたいと思っています。 その場合は private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) String^ str = textBox1->Text } //ボタン2のイベントハンドラ関数 private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { String^ str = textBox1->Text } のようにボタン2のイベントハンドラ関数をボタン1と同じように書けばいいのですが イベントハンドラ関数の処理が膨大になった場合を考えて省略する 書き方は無いのでしょうか?(以下の場合ですとエラーが起こってしまいます。) private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { button1_Click(); } 宜しくお願いします

  • ASP.Net TextChangedイベント

    お世話になります。 TextChangedイベントの引数に関しまして教えて下さい。 A ・・・ ボタン B ・・・ テキストボックス Aボタンを押したときのイベントの中に、BのテキストボックスのTextChangedイベントも実行させたいのですが、 Protected Sub A_Click(sender As Object, e As System.EventArgs)     Dim A As Button = FormView1.Row().FindControl("A")     Call B_TextChanged( A , e As System.EventArgs)     Sender は Aボタンでいいと思うのですが、     e As System.EventArgs この部分の e にはどのようなモノを入れればいいでしょうか?     (EventArgs派生クラス) と書いてあるのですが、実際どのように記述すればいいのかわかりません。 End Sub 何卒よろしくお願いいたします。

  • Page_Load時にボタンクリックイベントを実行するには?

    ASP.NETでPage_Load時にボタンクリックイベントを実行するにはどのようにすればいいのでしょうか? 具体的には、HTTPクエリ文字列のresultが"1"の場合はbutton1_Clickイベントを実行したいのですが、やりかたが分かりません。 サンプルソースの★の部分に button1_Click(sender, System.Web.UI.ImageClickEventArgs.Empty) と入れたら、 「型 'System.EventArgs' のオブジェクトを型 'System.Web.UI.ImageClickEventArgs' にキャストできません。」 というエラーメッセージが表示されてしまいます。 ■■■■■■サンプルソース■■■■■■ Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load   'クエリー取得(数値チェック)   If Request.QueryString("result").ToString = "1" Then     '検索ボタン押下処理を表示する     ★button1_Clickイベントを実行したい。   End If End Sub '検索ボタン押下 Protected Sub button1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles button1.Click '検索結果を表示する     : End Sub

  • 表示ボタン押下すると、テキストボックスに現在日時を表示する方法(C#.NET)

    C#.NETの初心者です。 Visual Web Developerを使用して勉強しています。 ボタンを押下後、テキストボックス(txtDatetime)に現在日時を取得するために、以下のような記述等をしていますが、うまいきません。 ご教授頂けますよう、よろしくお願い致します。 --------------------------------------------------------------- protected void Button1_Click(object sender, EventArgs e) { txtDatetime.Text = DateTime.Now; } ---------------------------------------------------------------

  • ボタンを押した時のコーディング方法について

    ネットや書籍で調べてみたものの要領を得なかったため質問させていただきます。 開発環境:visual web developer 画面デザイン:テキストボックス(ID:TextBox1)、ボタン(ID:DeleteButton)、ボタン(ID:UpdateButton)、ボタン(ID:CloseButton) 従来の記述方法:ボタン一つずつの単位で押された時の処理を書いていました。 Protected Sub DeleteButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles DeleteButton.Click TextBox1.Text = "削除しました" End Sub Protected Sub UpdateButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles UpdateButton.Click TextBox1.Text = "更新しました" End Sub Protected Sub CloseButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CloseButton.Click TextBox1.Text = "終了しました" End Sub 今回やりたいこと: 押されたボタンのIDを何らかの方法で取得し、変数"ButtonID"に代入→Select Caseを使い、変数の値に応じて処理の振り分けを行う。 Sub Button_Click() Dim ButtonID As String = ???? Select Case ButtonID Case "DeleteButton" TextBox1.Text = "削除しました" Case "UpdateButton" TextBox1.Text = "更新しました" Case "ClseButton" TextBox1.Text = "終了しました" Case Else '処理は行わない End Select End Sub わからない点:押されたボタンのIDを取得する方法です。      もしわかる方がいましたらご助言いただけると助かります。 よろしくお願い致します。

  • VS2005 ボタンを自動クリック

    VS2005の初心者です。 ボタンを自動的にクリックするロジックがわかりません。 現在は以下のようになっています。 private void Form1_Load(object sender, EventArgs e) {   (本文) } private void btnSendMail_Click(object sender, EventArgs e) {   (本文) } 今は、Form1_Loadが実行して、ボタンを押すとbtnSendMail_Clickが実行します。 これを、Form1_Loadの中でbtnSendMail_Clickを実行したいのです。 初心者なのでわかりにくいと思いますが、宜しくお願いします。

  • 他のFormのクリックイベント

    教えてください! 他のFormのクリックイベントを実行できますか? Form2のButton2をクリックした時に、Form1の「Button1_Click」を実行させることができますか? 出来るとしたら、Form2の「Button2_Click」にはどのように記載したらいいのでしょうか? [Form1]より Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)・・・ [Form2]より Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)・・・ End Sub 宜しくお願いします。

  • ボタンクリックイベント 重複防止について

    お世話になります。 C#2005で開発をしております。 ボタンクリックイベントを使用しておりますが、最初のボタンクリックイベントを実行中に、同じボタンをクリックると、複数のボタンクリックイベントが発生してしまいます。 ボタンクリックイベントが複数走らないようにしたいのですが、どのようにして防止するとよいか苦慮しております。 主なコードを以下に記述致します。 ------------------------------------------------------------------------------------ bool bButtonPushFlg = false; private void bShtter1_Click(object sender, EventArgs e) { if (bButtonPushFlg == true) return; bButtonPushFlg = true; Application.DoEvents(); bShtter1.Click -= new EventHandler(bShtter1_Click); // 関数 aaaaa() bShtter1.Click += new EventHandler(bShtter1_Click); bButtonPushFlg = false; } private int aaaaa() { Thread thread; thread = new Thread(new ThreadStart(bbbbb)); thread.Start(); } private int bbbbb() { ---------------- スレッド処理内容 ---------------- } ------------------------------------------------------------------------------------ 恐れ入りますが、ご教示いただきたく、宜しくお願い申し上げます。 以上です。

  • VS2005リンクボタンのクリックイベントについて

    VisualStudio2005+SQL SErver2005 Expressで社内開発を行っています。 今回ほぼ初めてWEBの簡単なアプリの開発を行っていますが初っ端から行き詰っております。 初期ページに、事業部、部署のコンボボックスと氏名入力用のテキストボックスがあり、リンクボタンを配置しています。 氏名の入力が無かったら、リンクボタンを押した際に入力を促すラベルを表示したいのですが、リンクボタンを押してもチェックがされず、次ページへ遷移してしまいます。 Clickイベント、Commandイベント共に処理を書いてみましたが全く処理を通っていないようです。(ブレークポイントに行きません) クリックした際に処理を行うのは別のイベントがあるのでしょうか? 情報を探していますが、有力な情報に行き着いておりません。 これだ!という情報をお持ちの方、何卒よろしくお願いいたします。

  • なぜ、clickイベントが起こってしまうのか? 回避するにはどのように

    なぜ、clickイベントが起こってしまうのか? 回避するにはどのようにしたら? お世話になります。 Visual Studio 2008 C#での開発です。 以下のような簡単なコードでの実験なのですが、 フォームには radioボタン2個とボタンが配置されています。 やりたいことは  1.button1がクリックされたらbutton1自身を使用不可にする  2.radioButton1がクリックされたらbutton1を再度使用可にする です。 しかし、どうもbutton1のクリックイベントの途中でradioButton1の クリックイベントが発生してしまい、思ったような動作になりません。 どのようにしたらbutton1のクリックイベントの途中のradioButton1の クリックイベントの発生を止めることができるのでしょうか? よろしくお願いします。 namespace WindowsFormsApplicationTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Console.WriteLine("1:button1がクリックされました"); Console.WriteLine("2:button1のenabled=" + button1.Enabled); button1.Enabled = false; Console.WriteLine("6:button1のenabled=" + button1.Enabled); } private void radioButton1_Click(object sender, EventArgs e) { Console.WriteLine("3:radioButton1がクリックされました"); Console.WriteLine("4:button1のenabled=" + button1.Enabled); button1.Enabled = true; Console.WriteLine("5:button1のenabled=" + button1.Enabled); } } } 上のコードでの実験結果 1:button1がクリックされました 2:button1のenabled=True 3:radioButton1がクリックされました 4:button1のenabled=False 5:button1のenabled=True 6:button1のenabled=True

専門家に質問してみよう