Web design and hosting, database, cloud and social media solutions that deliver business results
  • ビジネスソリューション
    • データベースサービス
      • サーバーのアップグレードと DBA サービス
      • データウェアハウス サービス
      • データ統合
      • パワーBI
    • ウェブサイトデザイン
      • Web サイトのセキュリティ
      • Web サイトの最適化
      • ロゴデザイン
      • 支払いゲートウェイ
      • テクニカルツール
    • ビジネスサービス
      • Google クラウド サービス
      • アマゾン ウェブ サービス
      • マイクロソフト アズール
    • ソーシャルメディア
    • マイクロソフトオフィス
  • 学校
    • テスト環境
    • 学習データベース
      • 基礎
      • SQL Serverデータ
      • SQLServerのメンテナンス
      • SQL Serverの日付の使用
      • SQLServerピボットの使用-ピボット解除
      • SQLServer関数の使用
      • オープンクエリを取得
      • ツール
    • ウェブデザインを学ぶ
      • Ousia コンテンツ管理システムの構築
      • ASP-NET の使用
      • CSS の使用
      • JavaScript の使用
    • クラウドと IT サービスの学習
      • タスク スケジューラ エラー 2147943645
      • OpenSSL での SSL の要求と PFX ファイルの生成の簡単な手順
    • ソーシャル メディアの使用
      • Facebookアカウントを個人用からビジネス用に変更する
      • Google レビューを依頼する
      • ソーシャル メディアの取り組みをどこに集中させるかを選択する
      • ソーシャル メディアの画像サイズ
      • メタ データを使用してソーシャル メディア画像を設定する
  • 私たちに関しては
    • ブログ
      • Google コア アップデート 2020 年 1 月
      • インターネット上のウェブサイトに関する最も厄介なこと
      • ウェブサイトの広告リーフレットのコンテンツを選択する方法
      • エントリーレベルのゲーム機の構築
      • オンライン詐欺の防止
      • ギグエコノミーのスキマー
      • ホットチリインターネット閉鎖
      • 無料のベクター グラフィックスのトップ 5 Web サイト
    • キャリア
      • 翻訳者 英日
      • 英語-トルコ語翻訳者
    • チーム
      • アイセ・ハー
      • アリ アル アミン
      • ギャビン・クレイトン
      • サイガングー
      • スーリヤ・ムッカマラ
      • スニール・クマール
      • チェスターコッパーポット
    • ポートフォリオ
English (EN-GB)English (EN-US)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)

ASP.NET で HTML PostBack データを簡単に取得

セッション状態、複雑な PostBack 処理、およびドロップダウン リストでのエラーを必要とせずに、サニタイズされた入力データをユーザー フォームから返すために使用する共有モジュール

柔軟、強力、安全

アプリケーション開発段階で、コントロールの通常のライフ サイクルよりも前にポスト データを取得する必要がある場合がいくつかあります。対処すべき主要なコーディングの問題ではありませんが、モジュールをできるだけ小さくしたかったのです。

切り替え機能と組み合わせると、状況に応じてデータ ソースまたはポストバックからデータをプルするようにアプリケーションに指示できます。

いくつかのケースで実稼働環境でこれを使用しており、Ousia CMS アプリケーション内で自由に使用されています。

  • 完全に更新可能な asp:GridView コントロールを作成し、Excel シートをほぼシミュレートする
  • カスタム フォーム asp:DropDown の選択した値をエラーなしで設定する
  • アプリケーションからセッション状態を削除してペイロードを削減する
  • アプリケーションの早期更新 (コントロールが完全に作成される前)
  • データをサナタイズし、正しいデータ型を返します。

以下にコードを設定し、後で詳細に進みます。

LoaderASP.NET

ASP.NET

    Public Shared Function GetPostBackValue(ByVal r As HttpRequest, c As Control) As String        Dim ret As String = ""        If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c.UniqueID)) Then ret = r.Form.Item(c.UniqueID)        Return ret    End Function    Public Shared Function GetPostBackValueString(ByVal r As HttpRequest, c As String) As String        Dim ret As String = ""        If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c)) Then ret = r.Form.Item(c)        Return ret    End Function    Public Shared Function GetPostBackDate(ByVal r As HttpRequest, c As Control) As String        Dim ret As String = ""        If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c.UniqueID)) Then ret = r.Form.Item(c.UniqueID)        Dim retS As String = ""        If IsDate(ret) Then retS = ret        Return retS    End Function    Public Shared Function GetPostBackDateString(ByVal r As HttpRequest, c As String) As String        Dim ret As String = ""        If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c)) Then ret = r.Form.Item(c)        Dim retS As String = ""        If IsDate(ret) Then retS = ret        Return retS    End Function    Public Shared Function GetPostBackCheck(ByVal r As HttpRequest, c As Control) As Boolean        Dim ret As String = ""        If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c.UniqueID)) Then ret = r.Form.Item(c.UniqueID)        Dim retS As Boolean = False        If ret = "on" Then retS = True        Return retS    End Function    Public Shared Function GetPostBackCheckString(ByVal r As HttpRequest, c As String) As Boolean        Dim ret As String = ""        If Not IsNothing(r.Form) Then            If Not IsNothing(r.Form.Item(c)) Then                ret = r.Form.Item(c).ToString            End If        End If        Dim retS As Boolean = False        If ret = "on" Or ret = "True" Or ret = "true" Or ret = "1" Then retS = True        Return retS    End Function    Public Shared Function UpdateValueSwitch(u As Boolean, d As String, p As String) As String        Dim ret As String = ""        If u = True Then            If p = "" Then                ret = d            Else                ret = p            End If        Else            ret = d        End If        Return ret    End Function    Public Shared Function ClearInt(v As String) As Int64        Dim i As Int64 = 0        If IsNumeric(v) Then i = v        Return i    End Function    Public Shared Function ClearDou(v As String) As Double        Dim i As Double = 0        If IsNumeric(v) Then i = v        Return i    End Function    Public Shared Function SQLStr(v As String) As String        Dim i As String = "NULL"        If Not IsNothing(v) Then If v <> "" Then i = "N'" + Replace(v, "'", "''") + "'"        Return i    End Function    Public Shared Function SQLInt(v As String) As String        Dim i As String = "NULL"        If Not IsNothing(v) Then If IsNumeric(v) = True Then i = Replace(v, "'", "''")        Return i    End Function    Public Shared Function SQLDate(v As String) As String        Dim i As String = "NULL"        If Not IsNothing(v) Then If IsDate(v) = True Then i = "'" + Date.Parse(v).ToString("yyyy-MM-dd HH:mm:ss") + "'"        Return i    End Function    Public Shared Function SQLBit(v As String) As String        Dim i As String = "0"        If Not IsNothing(v) Then If v = "True" Then i = "1"        Return i    End Function

何をしているのか

大部分の人がここに来て、いくつかの例を取得し、それを必要に応じて調整することを知っていますが、それが何をしているのかを知りたい人は読み続けてください.

GetPostBackValue、GetPostBackCheck、および GetPostBackDate は、渡された値 (リクエスト (投稿されたすべての情報を含む) とコントロール (フォーム値)) から関連する値を返します。 check および date バージョンは、提供されたデータ型が適切であることを確認するだけです。

ClearInt、ClearDou、ClearDate は、文字列から関連するデータ型を返します。これは、セット型である必要があるデータを割り当てるための基本的なスイッチとして使用されます。

SQLStr、SQLInt、SQLBit、および SQLDate は、潜在的な SQL インジェクション攻撃を防止する動的 SQL の文字列を返すための修飾子として使用されます。

UpdateValueSwitch は、提供された true または false に応じて戻り値を設定するだけで、p 値が空白の場合は d (デフォルト) 値が p (ポストバック) 値をオーバーライドします。

Set an asp:TextBox value to a number

MyTextbox.Text = ClearDou(UpdateValueSwitch(IsPostBack, dr.Item(1).ToString, GetPostBackValue(Request, MyTextbox)))

Pull a date from an asp:TextBox and update SQL

Dim u As String = SQLDate(GetPostBackDate(Request, TextBoxDate))
Using mi As New SqlConnection(str)
    mi.Open()
    Using com As New SqlCommand("EXEC [UpdSproc] " + u + "", mi)
        com.ExecuteNonQuery()
    End Using
End Using

Author

Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink クッキーポリシーサイトマップ

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
The settings on this site are set to allow all cookies. These can be changed on our Cookie Policy & Settings page.
By continuing to use this site you agree to the use of cookies.
Ousia Logo
Logout
Ousia CMS Loader