我尝试了大量问题的解决方案:如果值是数字则绑定文本框,如果是其他任何内容则绑定null ...
我在EditItemTemplate
中有这个文本框<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Position") %>'></asp:TextBox>
我尝试分配范围验证器,正则表达式验证但没有任何作用:当我尝试非数字(如'p'或'word')时,它会一直出错
我尝试做的是这样的事情:
<asp:TextBox ID="TextBox2" runat="server" Text='<%# if (It is number) Bind("Position") else Bind("Null") %>'></asp:TextBox>
或类似的东西:
<asp:TextBox ID="TextBox2" runat="server" Text='<%# if (It is number) Bind("Position") else Bind("0") %>'></asp:TextBox>
谢谢大家
PS:我正在使用C#
答案 0 :(得分:0)
您需要使用Eval
代替Bind
:
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Int32.TryParse((string)Eval("Position"), out _foo) ? Eval("Position") : "0" %>' />
当然,您需要在页面中使用以下声明:
private int _foo;