我正在使用LINQ to SQL並希望能夠選擇一個父代或無父代。假設我有一個包含PersonId,Name和ParentId列的People表。在ASP中,我想輸入名稱,選擇一個父項,然後單擊'添加'創建一個新的人員記錄,但我也希望能夠將ParentId留空。不要問爲什麼,這只是我想要做的簡單解釋。ASP.NET DropDownList綁定到數據但允許空值?
<asp:LinqDataSource ID="LinqPeople" runat="server"
ContextTypeName="MyDataContext" EntityTypeName=""
Select="new (PersonId, Name)" TableName="People"/>
<asp:TextBox ID="textName" runat="server" />
<asp:DropDownList runat="server" ID="dropParent"
DataSourceID="LinqPeople" DataTextField="Name" DataValueField="PersonId" />
<asp:Button ID="buttonAddPerson" runat="server" Text="Add" />
有沒有什麼辦法可以在列表框中顯示值爲null的'None'?我想過幾個選擇,哪個最好,還有其他的嗎?
創建的SQL存儲過程 「選擇PERSONID,名字從人們UNION SELECT NULL, '無'」
添加複選框 「無父」 的
把一個ListItem在標記爲DropDownList
添加的數據綁定事件處理程序的項目
我發現了一個更好的辦法,在標記添加列表項:
<asp:LinqDataSource ID="LinqPeople" runat="server"
ContextTypeName="MyDataContext" EntityTypeName=""
Select="new (PersonId, Name)" TableName="People"/>
<asp:TextBox ID="textName" runat="server" />
<asp:DropDownList runat="server" ID="dropParent"
DataSourceID="LinqPeople" DataTextField="Name" DataValueField="PersonId">
<asp:ListItem Value="">(none)</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="buttonAddPerson" runat="server" Text="Add" />
我找不到任何辦法然而,返回的SelectedValue實際值「NULL」,但我能處理的,我猜。我認爲ListItem的方式是最好的,因爲它是在標記中定義的,並且不需要任何代碼...
無論誰回答事件處理程序我打算接受,如果沒有人發佈其他任何東西...... – 2010-09-22 17:31:20