ASP.NET

GridView.TemplateField内のコントロールのClientIDをjavascript(クライアントサイド)で使いたい。

サーバ側のPage_Loadで、 ClientScript.RegisterArrayDeclarationメソッドを使う。 (このメソッドはjavascriptの配列を作成し、ページに埋め込んでくれる) GridViewの行をfor文でループさせて追加していく。 foreach (GridViewRow row in gvSyohin.Rows) {…

AutoCompleteExtenderで幅の指定

通常は、TargetControlIDプロパティでセットされたTextBoxと同じ幅になる。 それを変えたい場合は、 CompletionListCssClassプロパティでCSSのクラスをセットし、 そのCSSで、 min-width : 400px(任意の幅); と指定する。 AutoCompleteExtenderのプロパティ …

AutoCompleteExtenderで、textとvalueを別々にしたい!

リストに表示される値とは別にvalue値を保持しておきたい。 その場合は、ServiceMethodプロパティにセットしたメソッド内にて、 AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(<text>,<value>)メソッドを使う。 以下、リストを選択したら、textとvalue</value></text>…

window.onloadが動かない時はこれを使う!ASP.NET Ajax

ASP.NET Ajax利用時の話。javascriptでwindow.onloadを使っているけれども、 部分更新した場合に、window.onloadで書いたスクリプトが動かない。ScriptManager.RegisterStartupScript メソッドを使ってもどうもうまくいかない。そんな時は <script type="text/javascript"> function pageLoa</script>…

Sessionの状態管理のおはなし

自分用メモ。わかりやすい。重要。ASP.NET の状態管理(後編)

textboxでのEnterキー押下でSubmit(実行)させない!

EnterキーでのSubmitは、便利な時もあれば、迷惑な時もある。 迷惑な時には、この方法で抑止。http://www.programming-magic.com/20080119212425/ "MSDNに書いてある方法"だと、 Firefoxの時に効かなくて困っていたけれど、上記の方法なら大丈夫だった。

ListViewコントロールでページを指定する方法!!

GridViewなら、PageIndexが指定できるけど、 ListViewでDataPagerを使っているときは指定できず・・・。 そんなときは、 DataPagerクラスのSetPagePropertiesメソッドを使う。 DataPager1.SetPageProperties( startRowIndex, DataPager1.MaximumRows, false …

SetPagePropertiesメソッドの第三引数について

実装してみればわかることですが。DataPager.SetPageProperties メソッド のMSDN http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.datapager.setpageproperties.aspxDataPagerクラスの SetPagePropertiesメソッドの第三引数は、 「プロ…

GridViewで選択行の値を取得する方法

選択行の各セルの値を取得するためには、 GridView1.SelectedRow.Cells[0].Textといったように、 通常、インデックス指定しかできないのだが、 同じ内容の行がGridView上に存在しないのであれば、 SelectedDataKeyプロパティを使うと、 インデックスの他に、…

ListViewコントロールのPage Indexを初期化する方法

追記:2011.12.09 簡単な別の方法を見つけました。 こちらをご参照ください。 →ListViewコントロールでページを指定する方法!! - ぷろぐらまさんの忘れないようにメモ書き ASP.NET3.5 からListViewコントロールというものが追加され、カスタマイズしやすい…

GridViewのEmptyData表示時、Borderを取り除きたい。

GridViewのDataBoundイベントで設定。 protected void GridView1_DataBound(object sender, EventArgs e) { GridView gv = sender as GridView; if (gv != null) { //行カウント0の場合 if (gv.Rows.Count == 0) { //Borderなし gv.BorderStyle = BorderSty…

ASP.NET <%=  %>を使ったコードの埋め込みに関して その1

ラベルにコードを埋め込みたいと思い、 <asp:Label ID="label1" runat="server" Text='<%=DateTime.Now.ToString() %>' /> と書いたのだが、適用されなかった。なぜか。コードの埋め込みはコントロールのTextではなくて、 ASPXページに直接書くことで実行される。 <form id="form1" runat="server"> Current server time is <% =GetTime()%> </form> レンダリングの関係かな。 てか</asp:label>…

エラーメッセージ:Webサーバーでデバッグを開始できません。・・・

VisualStudioを使用してWEBアプリを作成。(ASP.NET4です。) デバッグの際、https通信での動作をチェックするため、 WEBサーバはVisualStudio開発サーバでなく、IISを使用しているのですが、 下記のエラーが出て、実行すらできなかった。 Webサーバーでデバ…

怪しいログ(phpMyAdmin(setup.php)への攻撃)発見。

http://xxx.xxx.xxx.xxx/w00tw00t.at.blackhats.romanian.anti-sec:) 危険な可能性のある Request.Path 値がクライアント (:) から検出されました とのエラーがあったので、アクセスログを見たら、 GET /w00tw00t.at.blackhats.romanian.anti-sec:) GET /php…

ASP.NET ファイル ダウンロード時にエラー

ファイルのダウンロード機能を実装する方法 | Microsoft Docsを参考に、 C#でダウンロード処理を施したボタンをクリックしたところ 「"ファイル名" が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。」 というエラー…

ASP.NET4 ListBoxのEnabled=falseが効かない!??

<asp:ListBox ID="ListBox1" runat="server" Enabled="False" > <asp:ListItem>ああああ</asp:ListItem> <asp:ListItem>いいいい</asp:ListItem> <asp:ListItem>ううう</asp:ListItem> </asp:ListBox> と書き、実行してみるのだが、 このリストボックスは選択できてしまう。 Enalbed="True"の時となんら変わりはない。 (ポストされたASPXページでもdisabledの文字は見当たらない)調べたところ、これは、ASP.NET 4が影響を与え…

現在のポストバックが部分更新(UpdatePanelの処理)かどうかをチェック

ScriptManager.IsInAsyncPostBack プロパティ が、trueならば、部分更新でのポストバックが起こっているということ。 IsInAsyncPostBack プロパティと IsPostBack プロパティをうまく活用して処理を行うことが出来そう。便利。ScriptManager.IsInAsyncPostBa…

IPアドレスとホスト名を変換するメソッド

System.Net.Dnsクラス(.NET Framework 2.0以降)を使用。 // IPアドレスからホスト名を取得する string ipAddress = "192.168.0.101"; System.Net.IPHostEntry hostInfo = System.Net.Dns.GetHostEntry(ipAddress); Console.WriteLine(hostInfo.HostName); //…

現在のページのホスト名またはIPアドレスの取得 ASP.NET

Request.Url.Host プロパティで取得可能。 Uri.Host Property (System) | Microsoft Docs ただし、このプロパティはポート番号が含まれないため、 ポート番号を含んだ形で取得したい場合は Request.Url.Authority プロパティを使用。 Uri.Authority Property…

ASP.NET セッションに関する便利なクラス

これ↓は便利! ASP.NETのセッションをタイプセーフに取り扱うクラスの作成 (1/2):CodeZine(コードジン) 今のWEBシステムを作る前に知っておきたかった。 セッションはObject型であり、セッション値を取り出して使用したいときは必ずキャストしなければな…

ASP.NET セッションやRequestオブジェクトをコンポーネントクラスで利用する

セッションやURLを、ページ付随クラス(.aspx.csのこと)と同じように、 コンポーネントクラスでも使いたい場合、 HttpContext.Currentプロパティを使用する。 例えば、 現在のセッションを取得したいのであれば、 HttpContext.Current.Session["ID"] 現在の…

フォーム認証 認証チケットの保護

認証チケットは既定で暗号化されている。 (Web.configの<forms>要素-<protection>属性で設定可能) 詳細は patterns & practices | Microsoft Docs 本題とはちょっと外れるけど気になる記事 ASP.NETで「ログイン成功後に新しいセッションを開始」は可能…

UrlEncode と HtmlEncodeの違い

ここのサイトがわかりやすいです。

現在表示のURLを取得

string path= Request.Url.ToString(); その他は、パスの様々な取得方法 [ASP.NET]クライアントからリクエストされたURLを取得するには?:.NET TIPS - @IT

ブラウザのCtrl+N(新規ウィンドウ)のセッション

Webアプリを使用中に、新規ウィンドウを立ち上げると、 同一プロセスでの処理を行うため、先に開いていたWebアプリとセッションが共有される。.NETエンタープライズWebアプリケーション開発技術大全 Sessionオブジェクト(6/7) - @IT

UpdatePanel内のコントロールから通常のポストバックを起こしたい場合

UpdatePanelのTriggersプロパティに 「PostBackTrigger」として、ポストバックを起こしたい対象のコントロールを登録する。

javascriptでCustomValidatorのErrorMessageを動的に生成する方法

<script language="javascript"> function checkSomething(source, args) { if (何かチェック) { source.errormessage = "何かのチェックが失敗しました"; args.IsValid = false; }else{ args.IsValid = true; } } </script>

ASP.NET 現在のページのクラス名を取得

string str = this.GetType().BaseType.FullName; <補足> 単に、this.GetType().FullNameだと「ASP.クラス名_aspx」が格納されていることがわかる。 これはaspxページ側のクラス名。 aspxページはコードビハインドのクラスを継承しているため、継承元のタ…

OnClientClickとValidatorの関係

実行ボタンのOnClientClickプロパティに"return Confirm('実行しますか?')"を設定。テキストボックスAに、RequiredFieldValidator(必須バリデーター)を設定。 このバリデーターのEnableClientScriptプロパティをtrueにする。 この状態だと、実行ボタンを…

ASP.NETブラウザ キャッシュ無効化

ASP.NETでは以下のメソッドで制御できる Response.Cache.SetCacheability(HttpCacheability.NoCache); しかし、IEには効いているみたい(有効期限切れのページが表示される)だが、 FireFoxやChromeなんかは、普通に(ブラウザ独自の?)キャッシュから読み取…