2014-01-17 27 views
0

我試過一噸問題的解決方案:結合一個文本框,如果該值是一個數字,或者是別的空...GridView的EditItemTemplate中裏面綁定C#的if語句

我有一個EditItemTemplate中這裏面的文本框

<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Position") %>'></asp:TextBox> 

我試圖分配rangevalidators,正則表達式驗證,但沒有任何作品:它不斷示數時,我嘗試一個非數字(如「p」或「字」)

我嘗試做的是像這樣:

<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

您將需要使用Eval,而不是Bind

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

當然你會的請在頁面中編輯以下聲明:

private int _foo;