最近遇到一個
就是 ListView 在 Insert Template 時會出現 神奇 Exception
ObjectDataSource“ObjectDataSource1”没有可以插入的值。请检查“values”字典是否包含值。
原始碼如下
<asp:ListView runat="server" ID="groupedList" DataSourceID="odbDetailCLD_SERIALDEF"
EnableViewState="true" DataKeyNames="SERIALID" OnSelectedIndexChanging="groupedList_SelectedIndexChanging"
InsertItemPosition="FirstItem" OnItemInserting="groupedList_ItemInserting">
<LayoutTemplate>
<table runat="server" id="table1">
<tr runat="server" id="itemPlaceholder">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr id="trItem" runat="server">
<td>
<%-- Data-bound content. --%>
<asp:LinkButton ID="btnItemEdit" CommandName="Edit" runat="server">
<img id="imgItemEdit" runat="server" alt='<%#Eval("SerialName") %>' src='~/Image/edit.bmp' />
</asp:LinkButton>
<asp:LinkButton ID="NameLabel" runat="server" CommandName='Select' CommandArgument='<%#Eval("SerialID") %>'
Text='<%#Eval("SerialName") %>' />
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr id="tdEdit" runat="server">
<td>
<input id="Hidden1" type="hidden" runat="server" value='<%#Bind("SERIALID") %>' />
<asp:LinkButton ID="LinkButton2" CommandName="Update" runat="server">
<img id="Img2" runat="server" alt='<%#Eval("SerialName") %>' src='~/Image/save.gif' />
</asp:LinkButton>
<asp:LinkButton ID="LinkButton1" CommandName="Cancel" runat="server">
<img id="imgEditEdit" runat="server" alt='<%#Eval("SerialName") %>' src='~/Image/cancel.gif' />
</asp:LinkButton>
系'a8t列'a6C課'bd?程'b5{名'a6W稱'ba?
<asp:TextBox ID="txtEditSerialName" runat="server" Text='<%#Bind("SerialName") %>'></asp:TextBox>
</td>
</tr>
</EditItemTemplate>
<InsertItemTemplate>
<tr id="tdInsert" runat="server">
<td>
<asp:LinkButton ID="btnSave" CommandName="Insert" runat="server">
<img id="imgInsertSave" runat="server" alt='<%#Eval("SerialName") %>' src='~/Image/save.gif' />
</asp:LinkButton>
<asp:LinkButton ID="btnCancel" CommandName="Cancel" runat="server">
<img id="imtInsertCancel" runat="server" alt='<%#Eval("SerialName") %>' src='~/Image/cancel.gif' />
</asp:LinkButton>
系'a8t列'a6C課'bd?程'b5{名'a6W稱'ba?
<asp:TextBox ID="txtInsertSerialName" runat="server" Text='<%#Bind("SerialName") %>'></asp:TextBox>
</td>
</tr>
</InsertItemTemplate>
</asp:ListView>
看出 Insert Template 那有問題了嗎??
對,我看了大約三個月吧,還是看不出來。
後來不死心將錯誤翻成英文,再請 google 大神幫忙找
"ObjectDataSource“ObjectDataSource1”没有可以插入的值。请检查“values”字典是否包含值。"
翻成
"asp.net listview there is no value to insert"
還真的給我找到了
I have found the problem.
The runat="server" on the
everything works fine.
Please shed some light on why this should cause a problem.
--
Philip
天殺的 runat="server"
為何 EditTemplate 可以
InsertTemplate 就不行呀~~
update 2008/11/17
神奇的事發生了。今天連 EditTemplate 也不行。
但 EditTemplate 中有兩個 Field
SerialID, SerialName
SerialID Bind 到一個 Hidden Field, SerialName Bind 到 TextBox。
為何 SerialName 就是給他變成 null >_<
把
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言