1

当我使用 Eval 时没有语法错误

<asp:TextBox ID="txtHaulZoneCodeWIL" runat="server" CssClass="cagText" Text='<%#ConvertHaulZoneCodeForDisplay(Eval("HaulZoneCodeWIL").ToString())%>'></asp:TextBox>

当我对此语句使用 Bind 时,出现错误“未声明名称绑定”

<asp:TextBox ID="txtHaulZoneCodeWIL" runat="server" CssClass="cagText" Text='<%#ConvertHaulZoneCodeForDisplay(Bind("HaulZoneCodeWIL").ToString())%>'></asp:TextBox>

如何解决这个问题。我只想使用 Bind,而不是 EVAL,因为 Bind 是双向的

在代码隐藏中,我这样写:

Protected Function ConvertHaulZoneCodeForDisplay(ByRef str As String) As String
        If str <> "0" Then
            Return str
        Else
            Return ""
        End If

    End Function
4

1 回答 1

0

编辑: 试试这种方式

<asp:Label  ID="Label123" **Visible="False"** runat="server"  CssClass="cagText" Text='<%#ConvertHaulZoneCodeForDisplay(Bind("HaulZoneCodeWIL").ToString())%></asp:Label >


**<asp:TextBox ID="txtHaulZoneCodeWIL" runat="server" CssClass="cagText" %></asp:TextBox>**

看到这个.. Vb。代码

  Protected  Sub DetailsView1_DataBound(ByVal sender As Object, ByVal e As EventArgs)        
     Label lablehide=(Label) DetailsView1.FindControl("Label123")
     TextBox _txtHaulZoneCodeWIL=(TextBox) DetailsView1.FindControl("txtHaulZoneCodeWIL")
  **_txtHaulZoneCodeWIL.Text=ConvertHaulZoneCodeForDisplay(lablehide.Text)**

End Sub

而这种方法是错误的。所以只要改变它

Protected Function ConvertHaulZoneCodeForDisplay(ByRef str As String) As String
        If str <> "0" Then
            Return str       

        End If
        Return ""
    End Function

然后参考这个

eval 是一种方式绑定,但是 Bind 是两种方式

如果你使用 Eval 绑定一个值,它就像一个只读的。您只能查看数据。

如果您使用 Bind 绑定一个值,并且如果您对该值进行一些更改,它也会反映在数据库中

你可以在这里看到类似的帖子

ASP.NET 中的 <%# Bind("") %> 和 <%# Eval("") %> 有什么区别?

于 2013-03-31T19:43:54.953 回答