0

ユーザーが新しいレコードをテーブルに挿入できるページがあります。つまり、2 回表示される PartNum という名前のフィールドがあり、それらは DetailsView の個別の TemplateFields で発生します。

ユーザーが最初のものに入力すると、2番目の出現が自動的に入力されるようにします。これまでのところ、最初のコードビハインドは次のとおりです。

Protected Sub PartNumChange(ByVal sender As Object, e As System.EventArgs)
    Dim str As String
    str = Me.ToString()
    Try
        DetailsView1A.DataItem("PrimaryKey5") = str
    Catch nre As NullReferenceException
    End Try

End Sub

ここで、str は値を取得する最初のテキスト ボックスを指し、「PrimaryKey5」はユーザーの入力に応じて更新する必要があるテキスト ボックスです。

残念ながら、何も起こっていないようです。AutoPostBack をオンにしています。2 番目のテキスト ボックスにもコード ビハインドが必要ですか?

4

1 に答える 1

0

指定はしていませんが、Postback についての言及は、これがクライアント アプリではなく Web アプリケーションであることを示唆しています。あなたが書いているコードはサーバー側です。つまり、ユーザーのブラウザーでは実行されず、ページがサーバーに送信されたときにのみ実行される可能性があります (たとえば、ボタンがクリックされた場合やリンクがナビゲートされた場合) - AutoPostBack を使用しても、キーを押すたびに更新されるわけではありません。テキスト ボックスでキーを押すたびにポストバックすることは可能ですが、ページが繰り返し更新される原因となり、ユーザー エクスペリエンスが低下します

ブラウザーでこの効果が必要な場合は、クライアント側の Javascript として実装することをお勧めします。スクリプトは、サーバーにアクセスすることなくクライアントのブラウザーで実行できるため、エクスペリエンスが大幅に向上します。

于 2013-06-28T14:08:45.110 に答える