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() などのデータバインディング メソッドは、データバインドされたコントロールのコンテキストでのみ使用できます。これはフォームビュー内で実行できますか?

助けてくれて本当にありがとうございます。

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>
<% } %>

ポストバックがある場合は、どこかに保存し、代わりに null になるため、それDataItemをのパラメーターとして使用する必要があります。DataBinder.Eval

于 2012-07-20T06:44:19.803 に答える
0

if ロジックは、コントロールのデータバインド イベントのコード ビハインドにある必要があります。

各行でこのイベントが発生し、データに基づいて行がどのように表示されるかを編集できます。

protected void FormView1_DataBound(object sender, EventArgs e)
{

}
于 2010-01-23T02:49:50.593 に答える