質問

私は自分のコードのstring.formatを使用してインターネットを検索してきましたが、自分のコードで見える正しいものを見つけることができないようです。

DataColumn dtCol;
dtCol = new DataColumn("ImagePath", System.Type.GetType("System.String"));
dtImages.Columns.Add(dtCol);
dtImages.Columns["ImagePath"].Expression = string.Format("<a href=\"'{0}'+ImageFilename\">View Image</a>", ImageDownloadPath);

(ImageFileNameは私のデータベーステーブルの列です)上記のコードは常に「構文エラー:オペランドが欠落している」というエラーをスローします。

これを適切に行うにはどうすればよいですか?

役に立ちましたか?

解決 4

私を助けてくれてありがとう。私はそれをする方法を理解することができました。すべての投稿をありがとう。

alt text

他のヒント

おそらく次のことを試してみませんか?

string.Format("<a href=\"{0}\\{1}\">View Image</a>", ImageDownloadPath, ImageFilename);

あなたが使用しているあなたのコードで '文字列形式の識別子の周りには、フォーマットされた文字列に表示されます。 ImageFilename プロパティは正しく使用されていませんでした。単純にプレーンテキストとして追加されていたでしょう。

次の値を持つ文字列の結果は次のとおりです。

ImageFilename = "1.jpg";
ImageDownloadPath = "http://www.downloadme.com/images";

Yours: <a href="'http://www.downloadme.com/images'+ImageFilename">View Image</a>
Mine: <a href="http://www.downloadme.com/images/1.jpg">View Image</a>

質問からはまったく明確ではありませんが、問題は コンパイル時間 まったく...実際にはありません string.Format. 。それは問題です DataColumn.Expression. 。アングルブラケットを含む表現を提供しているので、比較を実行しようとしていると考えています。

私はたくさん知っているとは言えません DataColumn.Expression, 、しかし、あなたはそれが文字列を引用する方法と、それが文字列内の引用を引用する方法を調べる必要があります!たとえば、これ そうかもしれない 仕事:

dtCol.Expression = string.Format
    ("'<a href=\"{0}'+ImageFilename+'\">View Image</a>'", 
     ImageDownloadPath);

しかし、私はあなたの人生を作る可能性が高いと思います 多く 最初から式でHTMLを計算しようとしなかった場合、よりシンプルです。あなたは本当に後で処理を適用できませんか?

これを試して:

dtImages.Columns["ImagePath"].Expression = 
string.Format("&lt;a href=\"'{0}'+ImageFilename\"&gt;View Image&lt;/a&gt;", ImageDownloadPath); 

<and>が表現の一部として解釈されようとしていると確信しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top