我不明白这个代码我做错了什么。我认为这可能与("
或'
)s
<asp:TextBox ID="txtPassportNumber" runat="server" MaxLength="19"
Text="<%# String.Format('{0}{1}','######',((TSAPassenger) Container.DataItem).Passport.DocumentNumber.Text.Remove(0,6)) %>"
Enabled="<%# IsOutsideTenDayCutoff %>"></asp:TextBox>
我收到太多字符错误
切换到:
<asp:TextBox ID="txtPassportNumber" runat="server"
Text="<%# String.Format("{0}{1}","######",((TSAPassenger) Container.DataItem).Passport.DocumentNumber.Text.Remove(0,6)) %>"
Enabled="<%# IsOutsideTenDayCutoff %>"></asp:TextBox>
并收到此错误:
分析程序错误消息:服务器标记格式不正确。
最终守则,得益于良好的帮助:
Text='<%# (((TSAPassenger) Container.DataItem).Passport.DocumentNumber != null && ((TSAPassenger) Container.DataItem).Passport.DocumentNumber != "") ? "******" + ((TSAPassenger) Container.DataItem).Passport.DocumentNumber.ToString().Remove(0,6) : "" %>'
答案 0 :(得分:3)
您需要确保使用Text
属性的单引号,例如Text='yourstuff'
。
然后在bind语句中使用双引号。绑定中的代码必须是vanilla c#,如果它不能在.cs文件中编译,它也不会内联编译,单引号表示c#中的char,而不是字符串。
这有效:
<asp:TextBox ID="txtPassportNumber" runat="server"
Text='<%# string.Format("{0}{1}", "######", ((TSAPassenger) Container.DataItem).Passport.DocumentNumber.Text.Remove(0,6)) %>'
Enabled="<%# IsOutsideTenDayCutoff %>"></asp:TextBox>
注意单引号和双引号。您应该可以按原样复制和粘贴它。
答案 1 :(得分:1)
你应该使用双引号而不是单个
<asp:TextBox ID="txtPassportNumber" runat="server" MaxLength="19" Text="<%# String.Format("{0}{1}","######",((TSAPassenger) Container.DataItem).Passport.DocumentNumber.Text.Remove(0,6)) %>" Enabled="<%# IsOutsideTenDayCutoff %>"></asp:TextBox>
答案 2 :(得分:1)
您应该在'
属性中反转"
和Text
的使用情况。而不是:
Text="<%# String.Format('{0}{1}','######',((TSAPassenger) Container.DataItem).Passport.DocumentNumber.Text.Remove(0,6)) %>"
使用:
Text='<%# String.Format("{0}{1}","######",((TSAPassenger) Container.DataItem).Passport.DocumentNumber.Text.Remove(0,6)) %>'
您必须在C#
代码之间提供有效的<%# ... %>
语法。 '"{0}{1}"'
和'######'
在C#
语法中均无效,因为''
只能包含char
s 'a'
,'0'
和等等。)
答案 3 :(得分:1)
您无法使用'
定义字符串。你现在正在做的是尝试创建一个不可行的多字符字符。
尝试将其更改为:
Text='<%# String.Format("{0}{1}","######",((TSAPassenger) Container.DataItem).Passport.DocumentNumber.Text.Remove(0,6)) %>'