2012-10-10 5 views
0

ASP.NET을 처음 사용합니다. 새 레코드를 추가하려면 "새로 만들기"를 클릭 할 때 드롭 다운 목록에 항목을 삽입하려고합니다. 양식이 ItemTemplate을에서 InsertTempplateasp.net DetailsVeiw - 링크 삽입 삽입시 드롭 다운 목록에 항목 삽입

로 전환 할

오류 : 내 위해 DetailsView에서

"System.NullReferenceException: Object reference not set to an instance of an object."

이 코드.

<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> 

업데이트 됨 ... 아래는 링크 Bottons입니다. @Aghislas에 의해 제안 아래

<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> 

나는이 코드를 시도 (감사합니다!)

protected void LinkButton_Click(object sender, EventArgs e) 
{ 
    DropDownList ddlVendor = (DropDownList)DetailsView1.FindControl("insertVendorName"); 
    ddlVendor.Items.Insert(0, new ListItem("---Select---", "-1")); 
} 

도와주세요. 고맙습니다.

+0

이 무엇을 달성 할 수 매는된다 클릭 위임으로 이동? –

답변

0

이 코드

<asp:LinkButton id="LinkButton1" 
     Text="Click Me" 
     OnClick="LinkButton_Click" 
     runat="server"/> 


protected void LinkButton_Click(Object sender, EventArgs e) 
{ 
     var ddlVendor =(DropDownList)DetailsView1.FindControl("insertVendorName"); 

     ddlVendor.Items.Insert(0, new ListItem("---Select---", "-1")); 
} 

의 Nota을 시도 할 수 있습니다 : 당신은 Page_Load 코드를 삭제하고

+0

"CS0122 : '_Default.LinkButton_Click (object, System.EventArgs)'보호 수준으로 인해 액세스 할 수 없습니다"라는 코드를 시도 할 때이 오류가 발생합니다. " 제발 조언 해! – Milacay

+0

@Milacay 내가 보호 된, 링크 추가 : http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.linkbutton.click.aspx –

+0

정말 고마워. 죄송합니다, 나는 여전히 "System.NullReferenceException : 개체 참조가 개체의 인스턴스로 설정되어 있지 않습니다." dllVendor가 객체로 만들어지지 않는 것 같습니다. – Milacay