ASP で、VB 側で form の属性をセットする[プログラミング]
(2024-12-04 12:43:50) by shinoda


一応、メモ。ちょっと悩んだので(^^;

「戻る」ボタン押下で GokeiKeisan っていう JavaScript が実行されてるっぽいんだけど、aspx ファイル見ても、全然 onClick 属性で実行スクリプトの指定をしてないので「なんで?」ってなった。

JavaScript そのものは、aspx ソース内に記述がある。

<script type="text/javascript">
    function GokeiKeisan(objRitsu) {
        var gokeikingaku = 0;
<略>
}

でも、onClick や onChange などの記述はない。

で、VB.NETのソースを見てたら、

Me.btnBack.OnClientClick = "javascript:GokeiKeisan('" & ddlZeiritsu.SelectedValue & "');"

なんて記述が。そうか、ASPではボタンオブジェクトに OnClientClick なんてプロパティがあるんだ。

一覧の手数料や値引額を変更しても合計額が変更されるんだけど、その設定は・・・と思ったら、こちらも VB.NET 内で onChange 属性のセットをしていた。

Dim sScript As String = "GokeiKeisan('" & ddlZeiritsu.SelectedValue & "', sGokei);"        '実行スクリプト
CType(e.Item.FindControl("txtTesuryo"), TextBox).Attributes.Add("onChange", sScript) '手数料が変わったら再計算
CType(e.Item.FindControl("txtNebiki"), TextBox).Attributes.Add("onChange", sScript) '値引額が変わったら再計算

JavaScript だけで属性セットもできるが、VB.NET 側に書いておいたほうが(COBOL から VB6 に流れ、今は VB.NET をやってるけど、JavaScript とかそういうのはわからんよ・・・と堂々と言っちゃうような老害プログラマ、あ、SEか(笑)。そういう人たちにとっても)メンテがやり易いというのはあるのか(^^;;;

コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8