我想知道如何在web.config文件中的vaue字段的字符串中给出一个空格。
例如<add key="number" value="0001 " />
我想在上面的值字段中的'1'之后输入一个空格,我尝试直接在值字段上给出一个空格,但这不会发生。
请分享您的意见/回复。
大家好, 对不起,不清楚.. 这就是我想要的,我在web.config文件中添加以下内容'' 我在文本框中使用此作为前缀,一旦用户点击特定键,就会在文本框中输入上述前缀,允许用户仅为几位数加上后缀。
所以在我的代码中
Tbx.text=app.DeploymentConfigurations["number"];
但是我想在0001之后的空格也是前缀。我如何在关键值中给出它。
注意:我不希望空间被硬编码。我已经这样做了。空间现在是一个要求,但它可能会在以后发生变化。所以如果我的应用程序设置中包含spacce会更好,这样用户只需要在配置文件而不是代码上更改它。谢谢大家
答案 0 :(得分:1)
如果没有看到更多代码,很难说出发生了什么;根据D Stanley的回答,这对我有用。
但是,由于您正在处理用户输入,因此最好强制执行前缀服务器端;一些选项包括:
1)将前缀放在用户无法在用户可编辑内容前编辑的单独文本框或标签中。这样可以消除用户输入前缀的可能性。
2)您可以格式化文本服务器端;也没有必要硬编码,简单:
<add key="Prefix" value="0001" />
<add key="Separator" value=" " />
然后您可以执行以下操作:
string overall = String.Format("{0}{1}{2}", ConfigurationManager.AppSettings["Prefix"], ConfigurationManager.AppSettings["Separator"], userInputtedText);
然后,用户当然可以删除空格或将其更改为其他任何字符或其他字符。
答案 1 :(得分:0)
为什么不在代码中添加空格?
Tbx.text=app.DeploymentConfigurations["number"] + " ";
由于您的要求要求您在配置中占用空间,请尝试以下操作:
<add key="number" value="0001 " />
 
是unicode中的空格字符。
除此之外,请使用魔术字符串:
<add key="number" value="0001{_}" />
然后在代码中替换:
Tbx.text=app.DeploymentConfigurations["number"].Replace("{_}", " ");
这将允许您控制配置中空间的位置,同时仍然可以实现您正在寻找的结果。
答案 2 :(得分:0)
这种行为实际上是Raw XML解析的一部分,如下所述:
我刚刚使用@Kyle建议验证了下面的设置如下,它确实有效,所以Kyle的建议可以用作答案:
在您的代码中,我认为最好的方法如下:
string s = app.DeploymentConfigurations["number"];
Tbx.text= s.PadRight(s.Length + 1);
这将为您的值增加1个空格。
答案 3 :(得分:0)
您使用的是标准AppSettings元素还是某些自定义设置提供程序?这对我有用:
的app.config:
<appSettings>
<add key="Test" value="123456 "/>
</appSettings>
代码:
string setting = ConfigurationManager.AppSettings["Test"];
Debug.Assert(setting.Length==7); // returns true
从web.config中提取字符串后是否会修剪字符串?你是如何使用该设置作为前缀的?