ASP.NETは初めてです。[新規]をクリックして新しいレコードを追加するときに、ドロップダウンリストにアイテムを挿入しようとしています。フォームがItemTemplateからInsertTempplateに切り替わります
エラー:
System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。」
私のDetailsViewのこのコード。
<ItemTemplate>
<asp:Label ID="lblVendorName"
runat="Server" style="text-align:left; width:100%"
Text='<%# Eval("VendorName")%>' Width="70%"/>
</ItemTemplate>
<InsertItemTemplate>
<asp:DropDownList id="insertVendorName" datasourceid="VendorSqlDataSource"
datatextfield="VendorName" DataValueField="VendorID"
OnSelectedIndexChanged="ddlVendor_SelectedIndexChanged"
runat="server" AutoPostBack="true" />
<asp:SqlDataSource ID="VendorSqlDataSource"
ConnectionString="<%$Connectionstrings:ConnectionString%>"
SelectCommand="SELECT VendorID, VendorName
from MDF_Vendor" runat="server">
</asp:SqlDataSource>
</InsertItemTemplate>
更新...以下はリンクボットンのセットです。
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="btnedit" runat="server"
CommandName="Edit" Text="Edit"/> |
<asp:LinkButton ID="btnInsert" runat="Server"
Text="New" CommandName="New"
OnClick="LinkButton_Click" /> |
<asp:LinkButton ID="btnDelete"
runat="server"
CommandName="Delete" Text="Delete" /> |
</ItemTemplate>
<InsertItemTemplate>
<asp:LinkButton ID="btnInsert" runat="Server"
Text="Insert" CommandName="Insert"/>
<asp:LinkButton ID="btncancel" runat="server"
CommandName="Cancel" Text="Cancel"/>
</InsertItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="btnupdate" runat="server"
CommandName="Update" Text="Update" />
<asp:LinkButton ID="btncancel" runat="server"
CommandName="Cancel" Text="Cancel"/>
</EditItemTemplate>
</asp:TemplateField>
@Aghislasによって提案された以下のコードを試しました(ありがとう!)
protected void LinkButton_Click(object sender, EventArgs e)
{
DropDownList ddlVendor = (DropDownList)DetailsView1.FindControl("insertVendorName");
ddlVendor.Items.Insert(0, new ListItem("---Select---", "-1"));
}
助けてください。ありがとうございました。