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などのライブラリは使用しておりません。
成果!!
休みの日を使い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アプリケーション開発」と言う項目の所を見ています。
詳しく掛けないほど無知ですが、これから色々と書いていきたいと思います。