Topへ

開発ブログ

webアンケートシステムの構築を行いました

今回は展示会設営企業様からのご依頼で、非接触型アンケートシステムを構築いたしました。

展示会にいらしたお客様からアンケートを取らせていただくシステムなのですが、今まではブースに設置していたタブレット端末で順次アンケートに回答していただく

形式が多かったと存じます。

この度は、コロナの影響があり毎回消毒するのも大変だしってことで、お客様にQRコードを読み取っていただきアンケートページにアクセスする方式のシステムを作成しました。


asp.net

弊社は、長年マーケッティングリサーチを行っている会社様のアンケートシステムを開発・運用してきましたので設計的にはあまり苦労はしなかったのですが、スマフォでお客様の

名刺の写真を取り込むところが、結構苦労しました。

いつもながら泣かされる部分なんですが、iphoneとandroidの仕様の違いがあります。

あとは、アンケートを対話形式で定義する部分のjavascriptの作り込みが厳しかった💧

最近インフラ構築の仕事が多くシステムの構築サイクルが間延びしてまして、javascriptの言語構文の細かい作法、結構忘れてるんですよね。

開発しだすと思い出すんですが😁

現、菅政権のブレーンである デービッド・アトキンソン氏が日本の中小企業は生産性が低いって言ってますけど、たしかにそういうところがあります。ソフト業界では。

似たような仕事を繰り返せば、開発効率は上がりますが。営業的な戦略が必要だし、方向性を間違えると全然仕事が取れないってことにもなりかねないので、
ついつい目先の仕事をこなしてしまう。
 
 

Visual Studio 2013にUpdate4とWeb Essentials 2013をインストールすると便利な機能が利用できます その①

Visual Studio 2013にUpdate4とWeb Essentials 2013をインストールすると便利な機能が利用できます

①jsonデータを画面に表示して右クリックで「アンミニファイ」をクリックすると圧縮されたjsonデータが見やすい形に成形されます。(update4)

<実行前>


<画面上で右クリックし、アンミニファイを実行すると>
以下のように見やすい形式に変換してくれます。

※逆のミニファイの機能は「ドキュメントのフォーマット」で実現できると書いてありましたが、なぜかもとに戻りませんでした。
 

②ブラウザーリンク(Web Essentials 2013をインストールしなくても使用できるようですが、Web Essentials 2013をインストールすると拡張機能が使用できるようです)

一度に複数のブラウザを表示して、ソースを更新したのち一気にすべてのブラウザに更新内容を反映させる方法です。
下記のように 「Internet Explorer」の右の▼ボタンを押下し「使用ブラウザー」を選択します。



CTRLキーを押下しながら、複数ブラウザをクリック選択後、「ブラウザで表示」ボタンを押下します。
 

下記のように複数のブラウザが同時に起動されます。 


この状態で、cssやhtmlを変更し、下記の更新ボタン(丸い矢印)をクリックするとすべてのブラウザが同時に更新され結果が表示されます。
※このブラウザーリンクの機能は、web.configでdebug=trueの指定が必要になります。
 

③html編集機能(Web Essentials 2013)

htmlの編集画面でtable#list>tr.row*5>td.cell*4>aを入力しtabキーを押下すると
意味:
・tableタグの定義をid='list'で行う
・trタグにclass='row'をつけて5行分定義する
・tdタグにclass='cell'をつけて4列分定義する
・各セル内にaタグを定義する

 

そうすると、以下のようにhtml文を自動展開してくれます。

IE11のブラウザでasp.net(.net framework 4)で不具合

IE11のブラウザでasp.net(.net framework 4)で開発されたサイトにアクセスすると動作しなくなるケースがあります。

 【状況】
昨日windows8.1のマシンから前述のシステムへアクセスしたところ「__doPostBack' は定義されていません。」というエラーが発生。
サーバー側のクリック イベントが起動されません。

 

 【発生環境】
Windows2008Server + asp.net(.net framework 4) + Internet Explorer11

半年くらい前にもframework3.5 + Internet Explorer10でそのようなことがありました、サーバー側のユーザーエージェントの判定が今までIE5~9で数字部分の判定が正規表現チェック(^[5-9])で良かったのですが、IE10になったため当該正規表現では誤判定しているものでした。

 

IEもasp.netもMicrosoftのプロダクトなのでもう少しきちんとチェックして欲しいものです。

 

で今回はサーバー側でIE11を未知のブラウザと認識しCookeiが正しく処理されないとのこと。

 

googleで検索してみると

 

http://support.microsoft.com/kb/2836939

 

がひっかかりました、早速サーバーにて実行し問題解決。