- - PR -
データの編集表示について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-02-29 17:42
基本が判っていない質問で大変申し訳ありません。
どのスレッドか見つけられないのですが、以前、どっとねっとふぁんさんが回答していたBindしているデータの編集方法(ご自身のサイト:http://dotnetfan.org/blogs/dotnetfanblog/articles/692.aspx)について質問があります。 また、App_Codeには項目の編集用のクラスとしてCustomFormatクラスを作り、この中に編集ルーチン(ReplaceCrLf)を作成しました。 本当はGridViewの中から直接編集用のクラスを呼び出したかったのですがやり方がわからなかったのでデータの編集を行いたいGridViewの項目にeplaceCrLf(Eval("Comments"))と書き、ReplaceCrLfをコードビハインドとして用意し、その中からCustomFormatの編集ルーチンを呼び出しています。 一応この手順でデータの編集はできているのですが、App_Codeの編集ルーチンを呼び出すためだけにコードビハインドを作成するのは無駄な気がきています。 直接、編集ルーチンを呼び出す方法があるのであれば教えて下さい。 | ||||||||
|
投稿日時: 2008-02-29 18:05
CustomFormatクラスの中のReplaceCrLfをpublicなクラスメソッド(C#であればstatic)として定義してください。
そうすればGridViewの中から CustomFormat.ReplaceCrLf(Eval("Comments")) というような記述で呼び出せるかと思います。 要するに、他のクラスから直接呼び出せる形のメソッドになっていれば呼び出せるはずです。 ああ、CustomFormatクラスにnamespaceがついているときはそのあたりも記述する必要があります。 | ||||||||
|
投稿日時: 2008-02-29 18:56
ご本人に回答していただき恐縮です。
CustomFormat.ReplaceCrLf(Eval("Comments"))と書くと実行時に 「非共有メンバを参照するには、オブジェクト参照が必要です。」というエラーになってしまうため、今の方法になっています。 何がいけないのか教えて頂けないでしょうか。 クラスは次のように作成しています。 Public Class CustomFormat Public Function ReplaceCrLf(ByVal data As String) As String Return data.Replace("" + vbCrLf, "<br />") End Function End Class コードビハインド Public Function ReplaceCrLf(ByVal data As String) As String Dim cf As CustomFormat = New CustomFormat() Return cf.ReplaceCrLf(data) End Function | ||||||||
|
投稿日時: 2008-02-29 19:10
今のコードビハインドのソースをみると、CustomFormatクラスのインスタンスを作成して、そのインスタンスメソッドであるReplaceCrLfを呼び出してますよね。
これを、ReplaceCrLfをクラスメソッド(インスタンスの作成を必要とせずに呼び出せるメソッド)にしてください。 #VBだとどう書くのか知らないので(^^; | ||||||||
|
投稿日時: 2008-02-29 19:14
私も教えて欲しいです・・・・ どなたかよろしくお願いします。 | ||||||||
|
投稿日時: 2008-02-29 20:21
Public Shared Function でしょうか。 | ||||||||
|
投稿日時: 2008-03-03 10:49
直接指定できるようになりました。 ありがとうございました。 |
1