0

我有一个 FormView,它呈现来自 SQLServer 数据库的字段,但也呈现特定于我获得的数据库值的许多静态文本。我不知道这是否可以在后面的代码中完成并将所有这些都放在一个函数中。我把它放在我的表单视图中

<ItemTemplate>

<% If Eval("Feature1") = "Yes" Then %>

 <%# Eval("Username") %> <p>A lot of text</p>

 <% elseIf Eval("Feature1") = "No" Then %>

 <%# Eval("Username") %>
<p>A lot of different text</p>

 <% End If %>

</ItemTemplate>

如果我执行上面的代码,我会收到错误消息:

Eval()、XPath() 和 Bind() 等数据绑定方法只能在数据绑定控件的上下文中使用。这可以在formview中完成吗?

非常感谢您的帮助。

4

2 回答 2

2

您可以DataBinder.Eval按如下方式使用:

<% if (DataBinder.Eval(formview.DataItem, "First") == "Yes") { %>
    <p>A lot of text</p>
<% } else { %>
    <p>A lot of different text</p>
<% } %>

如果您有任何回发,则必须将其存储在DataItem某处并将其用作 the 的参数,DataBinder.Eval因为它变为空。

于 2012-07-20T06:44:19.803 回答
0

您的 if 逻辑应该在您的控件的数据绑定事件中的代码中。

每行都会触发此事件,然后您可以根据数据编辑该行的外观。

protected void FormView1_DataBound(object sender, EventArgs e)
{

}
于 2010-01-23T02:49:50.593 回答