使用c#在href中显示部分描述

时间:2012-06-18 09:51:09

标签: c# jquery asp.net

在我的代码中,我有以下内容:

optionlist.AppendFormat("<li>
<a href=\"setlocale.aspx?returnURL=Default.aspx&localesetting={0}\">{1}</a>
</li>", DB.RSField(rs, "Name"), DB.RSField(rs, "Name"));

数据库中的名称具有以下值: en-US

我如何错过前3个字符串字符,只显示美国

如果区域设置显示为fr-FR,则显示fr 2次是没有意义的。

但是我需要将值保留在a href中,因为fr-FR只需要将其显示为FR。

我可以创建一个新的字段数据库并将其称为Description2,然后手动记下每个国家的US和FR和DE。这将是我的快速解决方法。任何想法如何从字面上删除描述中的3个字符串字符?

4 个答案:

答案 0 :(得分:2)

如果char长度始终相同,则使用substring

String x = "en-US";
x.Substring(3);

答案 1 :(得分:2)

由于您只是显示字符串,因此可以将第二个参数({1})保留为

DB.RSField(rs, "Name").Substring(DB.RSField(rs, "Name").IndexOf('-')+1, 2)

...并{0}保持href与{{1}}相同。

答案 2 :(得分:2)

optionlist.AppendFormat("<li>
<a href=\"setlocale.aspx?returnURL=Default.aspx&localesetting={0}\">{1}</a>
</li>", DB.RSField(rs, "Name").Substring(3), DB.RSField(rs, "Name").Substring(3));

答案 3 :(得分:2)

string[] subStr = Name.Split("-");

optionlist.AppendFormat("<li>
<a href=\"setlocale.aspx?returnURL=Default.aspx&localesetting={0}\">{1}</a>
</li>", DB.RSField(rs, subStr[1]), DB.RSField(rs, subStr[1]));