我正在尝试从代码隐藏中对数据视图中的字段进行数据绑定。如果我在前端做这件事,那就像是:
<asp:TextBox id="txtField" runat="server" text='<%# Bind("col_name") %>' />
和col_name将出现在绑定到文本框所在的父FormView的sqlDataSource的select和update命令中。
由于表单是在代码隐藏中动态生成的,我不能使用&lt;%#Bind()%&gt;句法。如何从代码隐藏中绑定文本框?如果我不能,那么最佳解决方案是什么?
答案 0 :(得分:1)
您可以在代码中使用Databinder.Eval。
Me.txtRun.Text = DataBinder.Eval(ObjectOnPage, "PROPERTYNAME")
如果您在dgData_RowDataBound Gridview方法中执行此操作,则可以使用e.Row.DataItem
Protected Sub dgData_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles dgData.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
DirectCast(e.Row.FindControl("txtControl"), TextBox).Text = DataBinder.Eval(e.Row.DataItem, "Property")
End If
End Sub
可在以下链接中找到更多信息:
DataBinder.Eval Method (Object, String)
我希望这会有所帮助。