ASP.NETを使ってみよう No3

ASP.NETについて調べた事のメモ!



smegheadさんのご意見を参考に、【ViewState】を使用した簡単なサンプルを作成してみました。

<%@ PAGE LANGUAGE="VB" Inherits="Test" Src="ViewStateCounter.aspx.vb" %>
<html>
<body>
  <form runat="server">
    <p>
      <asp:Label id="labCounter" runat="server" />
      <br>
      <asp:Button Text="up" runat="server" />
    </p>
  </form>
</body>
</html>

public Class Test
  Inherits System.Web.UI.Page

  protected labCounter As System.Web.UI.WebControls.Label

  Sub Page_Load(sender As object, e As System.EventArgs)
    Dim counter As Integer = 0
    If (IsPostBack) 
      If (Not(ViewState("counter") Is Nothing))
        counter = CType(ViewState("counter"),Integer)
        counter += 1
      End If
    End If
    labCounter.Text = counter.ToString()
    ViewState("counter") = counter
  End Sub
End Class

ASP.NETを使ってみよう No2

ASP.NETについて調べた事のメモ!


    【ビュー・ステート】

  • 動的に設定されたサーバ・コントロールのプロパティや、通常ならばポストバックされない、サーバ・コントロールの背景色などの情報も受け継ぐことができる。

  •  便利な機能だとは思うけど、いまいち実感がわかない機能だな・・・
     上手い活用方法ってどんなのがあるのかな??
     パッと思いつかないので、この機能止めちゃおう!!
     PAGEディレクティブのEnableViewState属性を「false」にすれば、ビュー・ステート機能を無効にする事が出来る。
    (例)

    <%@ PAGE LANGUAGE="VB" EnableViewState="false" Inherits="Test" Src="sample.aspx.vb" %>
    <html>
    <body>
      <form runat="server">
        <asp:Button id="Button1" Text="Button1" OnClick="Button1_Click" runat="server" />
        <asp:Button id="Button2" Text="Button2" OnClick="Button2_Click" runat="server" />
      </form>
    </body>
    </html>
    

    imports System.Drawing
    
    public class Test 
      Inherits System.Web.UI.Page
    
      protected Button1 As System.Web.UI.WebControls.Button
      protected Button2 As System.Web.UI.WebControls.Button
    
      public Sub Button1_Click(sender As object, e As System.EventArgs)
        Button1.ForeColor = Color.Blue
      End Sub
    
      public Sub Button2_Click(sender As object, e As System.EventArgs)
        Button2.ForeColor = Color.Red
      End Sub
    End Class

ASP.NETを使ってみよう No1

ASP.NETについて調べた事のメモ!


      この機能は便利だと思いました。

  • ポストバック時に、「自動状態管理」と呼ばれる機能によって、コントロールの状態が保存され、フォームの値などが復元できる。


  • ASP.NETページのコード宣言ブロックにコードを記述すると、自動的にSystem.Web.UI.Pageクラスの派生クラスが定義され、コード宣言ブロックで定義されたメソッドはすべてこの無名の派生クラス(内部的には名前を持つ)のメンバとして定義される。

    解釈:ASP.NETページを開くと暗黙的にSystem.Web.UI.Pageクラスのインスタンスが生成される。


  • ビジュアル・プログラムのファイルを、分割して定義する仕組みを、「コードビハインド(分離コード)」と呼ばれる。
  • (例)

    <%@ PAGE LANGUAGE="VB" Inherits="testPage" Src="sample.aspx.vb" %>
    <html>
    <body>
      <form runat="server">
        <asp:TextBox id="textEMail" runat="server"></asp:TextBox>
      </form>
    </body>
    </html>
    

    public class testPage 
      Inherits System.Web.UI.Page
    
      protected Dim textEMail As System.Web.UI.WebControls.TextBox
    
      private Sub Page_Load(sender As object, e As System.EventArgs)
        textEMail.Text = "TestAddress"
      End Sub
    
    End class

asp + ajax 日本語が文字化けする・・・

トップ.aspをから、ajaxを使用し検索処理を行うaspファイルを走らせます。
その結果を「responseText」にて取得し、トップ.aspへ表示させようとしています。

<問題>
 ajaxからの返却値に日本語が存在する為文字化けしてしまいます。

<原因>
 トップ.asp画面は、shift-jis
 XMLHttpRequestオブジェクトで利用可能な文字コードは,原則としてUTF-8

<言い訳>
 しかし、aspでの文字コード操作がよく分からない・・・(少し調べたのに)
 時間があまりないので、一つの解決策を考えた。(かなりダサいです)

<解決策>
 ajaxにて走らせるaspファイルの結果をSessionにいれる。
 これにより、XMLHttpRequestオブジェクトで結果を通信しない為、文字化けを防ぐことが出来る。

<希望>
 あぁ〜純粋に文字コードを指定して直したかった・・・

ajaxを使用するにあたって、prototype.jsなどのライブラリは使用しておりません。

日本語っていいですね☆

今更ですが、Eclipseの日本語化に成功しました。

NLpack1-eclipse-SDK-3.2-gtk.zipをダウンロード。
unzip NLpack1-eclipse-SDK-3.2-gtk.zip で解凍
解凍してできた「features」「plugins」をeclipse本体があるフォルダに入れる。
Eclipse起動

今までできなかった理由が分かりました。
どうやら、この2つのフォルダはコピーでeclipse本体のフォルダに入れないといけないらしい。(移動はダメ)

今までは英語だったので、理解しないでEclipseを使っていたので、プログラムを組むのがまた楽しくなりそうです♪♪

成果!!

休みの日を使いstrutsの本を買いました。
会社の上司の人に買ったことを言ったら、本はお金を出せば誰でも買えるって言われました。w
たしかに本は読んで理解して意味がある!!って思いました><


頑張って読んでます☆
読んでて思ったのが、実際に打って作らないと覚えれない・・・って事で開発環境を整えています。


現在の成果
・VineLinux3.2
・jdk1.6
・eclicp3.2
・tomcat5.5
・postgresql8.2
まで入れ終わりました。


postgresqlの設定時、「./configure」実行時、「readline」「zlib」がないってエラーが出ました。
1.apt-get update
2.apt-get install readline-devel
3.apt-get install zlib-devel
って感じで解決☆

他は流れる用に設定完了(^^)/

一つだけ問題がありました。
eclipseの日本語化プラグインeclipseフォルダにコピーしようとすると上書き出来ませんって言われてしまい、結局英語で使うことになってしまいました。


今日は会社であることを思いました。
プログラムで変なところがあり「?」的な感じで悩んでいたとき、上司の人が見て5分もしないうちに問題発見!!
「自分へ一言、何やってんだ俺!!」
どうも他の人が書いたプログラムの解析するのに時間がかかってしまう用なので、他の人が書いたプログラムを沢山見ようと思いました。

やっぱり嬉しいですよね☆+webアプリケーション

11日
仕事終わりに、上司の方に誘われ麻雀をしました。
よく飲みにも誘ってくれます><
先輩の方々に誘っていただけると嬉しいですね♪♪

12日
専門学校時代に、お世話になった担任の先生と二人で飲みに行ってきました。
自分:「学生時代にもっと色々教えてほしかった」
先生:「えっ!?学校にそこまで参加してた?w」
こんな会話で盛り上がりました(^^)/

13日
朝から夕方まで調子が悪く寝てました。
少し体調が良くなったので、webアプリケーションについて調べていたら良いサイトを発見したので、そのサイトを使い勉強中です。(urlは貼っていいのかな?「stack*」ってサイトです)
現在は「VelocityとStrutsを用いたWEBアプリケーション開発」と言う項目の所を見ています。
詳しく掛けないほど無知ですが、これから色々と書いていきたいと思います。