Gridview EditItemTemplate在绑定C#中有一个If语句

时间:2014-01-17 18:45:18

标签: c# asp.net gridview if-statement bind

我尝试了大量问题的解决方案:如果值是数字则绑定文本框,如果是其他任何内容则绑定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#

1 个答案:

答案 0 :(得分:0)

您需要使用Eval代替Bind

<asp:TextBox ID="TextBox2" runat="server" Text='<%# Int32.TryParse((string)Eval("Position"), out _foo) ? Eval("Position") : "0" %>' />

当然,您需要在页面中使用以下声明:

private int _foo;