C# 如何格式化数据项字符串
所以我有一个文本字段,我正在从DB列表中调用一个数据项。我正在尝试格式化此字段,使其仅显示护照号码的最后3位数字,然后用#符号屏蔽前6位。我如何内联执行此操作,还是必须转到代码隐藏C# 如何格式化数据项字符串,c#,asp.net,data-binding,C#,Asp.net,Data Binding,所以我有一个文本字段,我正在从DB列表中调用一个数据项。我正在尝试格式化此字段,使其仅显示护照号码的最后3位数字,然后用#符号屏蔽前6位。我如何内联执行此操作,还是必须转到代码隐藏 <asp:TextBox ID="txtPassportNumber" runat="server" MaxLength="9" text="<%# ((TSAPassenger) Container.DataItem).Passport.DocumentNumbe
<asp:TextBox
ID="txtPassportNumber"
runat="server"
MaxLength="9"
text="<%# ((TSAPassenger) Container.DataItem).Passport.DocumentNumber %>"
Enabled="<%# IsOutsideTenDayCutoff %>"></asp:TextBox>
您是否尝试过类似的方法:
text="<%# '######' & string.right(((TSAPassenger) Container.DataItem).Passport.DocumentNumber,3) %>"
text=“”
但是,除非您需要应用程序中的号码,否则只需通过database命令以这种方式调用即可。您可以使用string.Concat,其中str是您的数据项字符串
(str.Length==9) ? string.Concat(string.Empty.PadLeft(6, '#'), str.Substring(str.Length - 3)) : string.Empty;
您可以更改后一个字符串。Empty以显示错误或您希望显示的任何错误护照号码。因此,出于某种原因,maxlength为9时,它给了我一个错误,即文字中的字符太多。抱歉,这也不起作用,我不确定是否是代码。它说startindex不能小于零,我不确定,因为如果passport号码有时是空的,如果这会引发错误,在实际调用子字符串之前,您需要确保有9个字符。查看我编辑的答案您是否尝试过上述解决方案?请接受它作为答案,否则让我们知道任何如果你仍然有问题。。。