C# Web.Config键值

C# Web.Config键值,c#,web-config,C#,Web Config,我想知道如何在字符串中为web.config文件中的vaue字段指定一个空格。 例如 我想在上面的值字段中的“1”之后输入一个空格,我尝试直接在值字段上输入一个空格,但没有出现这种情况 请分享您的意见/回复 大家好, 对不起,我不清楚。。 这就是我想要的,我正在web.config文件“”中添加以下内容 我在文本框中使用它作为前缀,在文本框中,一旦用户单击某个特定的键,就会在文本框中输入上面的前缀,允许用户仅为净数字添加后缀 所以在我的代码中 Tbx.text=app.DeploymentCon

我想知道如何在字符串中为web.config文件中的vaue字段指定一个空格。 例如

我想在上面的值字段中的“1”之后输入一个空格,我尝试直接在值字段上输入一个空格,但没有出现这种情况

请分享您的意见/回复

大家好, 对不起,我不清楚。。 这就是我想要的,我正在web.config文件“”中添加以下内容 我在文本框中使用它作为前缀,在文本框中,一旦用户单击某个特定的键,就会在文本框中输入上面的前缀,允许用户仅为净数字添加后缀

所以在我的代码中

Tbx.text=app.DeploymentConfigurations["number"];
但是我想在0001后面加一个空格作为前缀。我如何在键值中给出它



注意:我不希望空间被硬编码。。我已经做到了。现在需要空间,但以后可能会改变。因此,如果我的应用程序设置中包含spacce,那么用户只需在配置文件中更改spacce,而不必在代码中更改spacce,这会更好。谢谢大家

为什么不在代码中添加空格呢

Tbx.text=app.DeploymentConfigurations["number"] + " ";
由于您的需求要求您在配置中拥有空间,请尝试以下操作:

<add key="number" value="0001&#x20;" />
然后在代码中替换:

Tbx.text=app.DeploymentConfigurations["number"].Replace("{_}", " ");

这将允许您控制空间在配置中的位置,同时仍能获得所需的结果。

此行为实际上是原始XML解析的一部分,如下所述:

我刚刚使用@Kyle suggestion验证了如下设置,它确实有效,因此Kyle suggestion可以用作答案:

在您的代码中,我认为最好的方法如下:

string s = app.DeploymentConfigurations["number"];
Tbx.text= s.PadRight(s.Length + 1);

这将为您的值添加1个空格。

您使用的是标准AppSettings元素还是一些自定义设置提供程序?这对我很有用:

app.config:

<appSettings>
  <add key="Test" value="123456 "/>
</appSettings>

从web.config中提取字符串后,是否有东西在修剪字符串?如何使用该设置作为前缀?

如果看不到更多代码,很难判断发生了什么;根据D·斯坦利的回答,这对我很有效

但是,由于您处理的是用户输入,因此最好还是在服务器端强制使用前缀;一些选择包括:

1) 将前缀放在用户无法在用户可编辑内容前面编辑的单独文本框或标签中。这将消除用户键入前缀的可能性

2) 你可以格式化你的文本服务器端;也不需要硬编码,很简单:

<add key="Prefix" value="0001" />
<add key="Separator" value=" " />

用户当然可以删除空格或将其更改为其他字符。

您是指appSettings吗?您是否将示例配置字符串写入此处以了解您的实际需求?@Kyle-true,但在.NET中读取字符串应允许正确解释。还有Unicode ;如果%20不起作用。也许你应该采取另一种方法,处理绑定到文本框的代码中的空格。如果你想添加两个键值,只需在代码中添加空格和/或前缀,而不是在配置中添加。最后一个可能的想法是使用下划线?如果需要,在代码中可以用空格替换下划线?它有点黑,但它可能会完成工作。我已经这样做了,但用户希望以后只在配置文件中更改它,而不接触代码。此外,空间目前只需要,以后可能不需要,所以我希望它只在应用程序设置中,而不是硬编码。嗨,正如您所说,再次添加unicode将在我的C#代码中,而不是在配置文件中。用户很难找到这一行来删除空间。感谢您的快速回复。嗨,Kyle,我完全按照您的要求做了,但没有成功。感谢您的帮助。嗨,Kyle,非常感谢,我对您所说的做了一些修改,但实现了一个类似的想法。非常感谢你的帮助,我很感激。再次感谢。我已经这样做了,但是用户希望以后只在配置文件中更改它,而不接触代码。此外,空间仅在现在需要,以后可能不需要,因此我希望它只在应用程序设置中使用,而不是硬代码。我的Stanley是silverlight项目。在它从web.config文件中提取之后,我不会进行修剪。对我来说,“0001”的长度只有4。
string setting = ConfigurationManager.AppSettings["Test"];
Debug.Assert(setting.Length==7);  // returns true
<add key="Prefix" value="0001" />
<add key="Separator" value=" " />
string overall = String.Format("{0}{1}{2}", ConfigurationManager.AppSettings["Prefix"], ConfigurationManager.AppSettings["Separator"], userInputtedText);