我有一個相當簡單的形式:LoginView FormView控件內沒有數據綁定在回發
<asp:FormView>
<EditItemTemplate>
<asp:LoginView>
<RoleGroups>
<asp:RoleGroup roles="Blah">
<ContentTemplate>
<!-- Databound Controls using Bind/Eval -->
</ContentTemplate>
</asp:RoleGroup>
</RoleGroups>
</asp:LoginView>
<!-- Databound Controls -->
</EditItemTemplate>
</asp:FormView>
<asp:LinqDataSource OnUpdating="MyDataSource_Updating" />
我處理我的LinqDataSource OnUpdating事件,並做了一些工作處理某些M:N場。這一切都有效。
但是,一旦更新完成(並且我調用e.Cancel = true),LoginView控件不會禁止它的子對象...因此它們都是空白的。 FormView的viewstate仍然很好,因爲LoginView以外的所有其他控件看起來都很好。我甚至處理了FormView_DataBound事件,並且一個跟蹤顯示FormView在回發時被數據綁定。
爲什麼然後LoginView不保持其ViewState /數據綁定?下面是表示該流的樣本代碼片段:
protected void MyDataSource_Updating(object s, LinqDataSourceUpdateEventArgs e)
{
try
{
Controller.DoSomething(newData);
// attempts to databind again here fail
// frmView.DataBind();
// MyDataSource.DataBind();
// LoginView.DataBind();
}
catch { // blah }
finally
{
e.Cancel = true;
}
}
與LoginView有相同的問題。現在廢棄它並且工作正常。 – 2010-11-30 18:40:34