首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >string.format错误

string.format错误
EN

Stack Overflow用户
提问于 2010-08-12 14:14:09
回答 4查看 1.2K关注 0票数 1

我一直在互联网上用string.format搜索我的代码,但似乎找不到我的代码上看起来像的那个。

代码语言:javascript
复制
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之前缺少操作数”的错误。

我该如何正确地做到这一点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-20 16:04:19

谢谢你帮我的忙。我想出了做这件事的方法。感谢所有的帖子。

票数 0
EN

Stack Overflow用户

发布于 2010-08-12 14:20:04

也许可以试试下面的方法?

代码语言:javascript
复制
string.Format("<a href=\"{0}\\{1}\">View Image</a>", ImageDownloadPath, ImageFilename);

在你的代码中,你在字符串格式标识符周围使用了',然后它就会显示在你的格式化字符串中,而ImageFilename属性没有被正确使用,它将被简单地添加为纯文本。

具有下列值的字符串的结果如下:

代码语言:javascript
复制
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>
票数 1
EN

Stack Overflow用户

发布于 2010-08-12 14:24:35

这个问题一点也不清楚,但我相信这个问题根本不是一个编译时的问题……不是真正的string.Format。这是DataColumn.Expression的一个问题。您给出的表达式包含尖括号,因此它认为您正在尝试执行比较。

我不能说我对DataColumn.Expression了解很多,但你应该研究一下它是如何引用字符串的……以及它如何在字符串中引用引号!例如,这可能会起作用:

代码语言:javascript
复制
dtCol.Expression = string.Format
    ("'<a href=\"{0}'+ImageFilename+'\">View Image</a>'", 
     ImageDownloadPath);

但是,我认为如果您一开始不尝试计算表达式中的HTML,可能会使您的工作变得简单得多。你真的可以在以后不再应用处理吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3465147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档