2011-08-24 54 views
0

我有一個從SQL select語句填充的下拉列表。 select語句篩選'bit'設置爲false的項目,但項目仍在數據庫中,但隱藏。在數據綁定上捕獲空值

我的問題是;當物品缺貨或隱藏時(位= false),用戶可能仍然有隱藏的物品,因此會引發錯誤。如何以及在哪裏可以捕捉到這一點,顯示原始項目或將值設置爲默認值?

protected void GradeDropDownList_DataBinding (object sender, EventArgs e) 
{ 
    var ddl = (DropDownList)(sender); 
    var a = ((Label)MyDetailsView.FindControl("GradeLabelEdit")).Text; 
    a = a.Trim(); 
    if (a != "") { ddl.SelectedValue = a; } 
} 

select語句;

<asp:SqlDataSource ID="getGrade" runat="server" ConnectionString="<%$ ConnectionStrings:CasesTimeConnection %>" 
    SelectCommand="SELECT [gradeID], [gradeText] FROM [user_grades] WHERE ([visibleState] = @visibleState)"> 
    <SelectParameters> 
     <asp:Parameter DefaultValue="True" Name="visibleState" Type="Boolean" /> 
    </SelectParameters> 
</asp:SqlDataSource> 

In page;

<EditItemTemplate> 
<asp:DropDownList ID="GradeDropDownList" runat="server" DataSourceID="getGrade" DataTextField="gradeText" DataValueField="gradeID" OnDataBinding="GradeDropDownList_DataBinding" OnSelectedIndexChanged="GradeDropDownList_SelectedIndexChanged"> 
</asp:DropDownList> 
</EditItemTemplate> 
<ItemTemplate> 
<asp:Label ID="gradeLabel" runat="server" Text='<%# Bind("gradeText") %>'></asp:Label> 
</ItemTemplate> 

回答

0

檢索LastModifiedDate在獲取記錄和嘗試更新的記錄請與您檢索到的一個現有lastModifiedDate值。如果它們不同,則發出警告消息/顯示新數量。

感謝

沙市

+0

你有一個代碼段?我不太確定在哪裏放置。 – Alex

+0

首先,我可以知道你的數據表中是否有modifiedDate字段? – Shashi

+0

其實我沒有;我有一個字段visibleState作爲一種改變的位類型。如果它設置爲FALSE,它將在select語句中被過濾出來(如上所述) - 我問如何在項目處於隱藏狀態時設置標準值。 – Alex