2014-04-04 18 views
10

Tôi đang nhận được "màn hình màu vàng của cái chết" khi gỡ lỗi một trang web mà tôi đang làm việc. Thông báo lỗi là "giá trị không thể rỗng. Tên tham số: khóa". Tôi đang cố gắng để ràng buộc một formview để chỉ số được lựa chọn của một GridView. Mọi thứ xuất hiện để ràng buộc chính xác khi tôi đặt các điểm ngắt trong phương thức selectedindexchanged của tôi, tôi có thể xem giá trị của formview của tôi, nhưng khi tôi tiếp tục chạy nó, tôi nhận được thông báo lỗi ở trên. Tôi đã thử thêm một thuộc tính datakeynames vào formview và nhận được thông báo lỗi tương tự. Tôi đã tìm kiếm ở đây và google và thấy một số kết quả, nhưng không có gì mà dường như sửa chữa hoặc liên quan đến vấn đề của tôi."giá trị không thể là tên thông số rỗng: khóa"

Một số code đang dưới đây:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    lblMessage.Text = ""; 
    cbCalled.Visible = true; 
    cbError.Visible = true; 
    cbVerbal.Visible = true; 
    btnSubmit.Visible = true; 
    FormView1.Visible = true; 
    FormView1.DataBind(); 
    FormView fv1 = FormView1; 
    Label PathCountLabel = (Label)fv1.FindControl("pathcountLabel"); 
    TextBox PathResult = (TextBox)fv1.FindControl("PathResultLabel"); 
    if ((PathCountLabel.Text != "1 of 1 biopsies") && (PathCountLabel.Text != "Only 1 Pathology Ordered")) 
    { 
     PathResult.BackColor = ColorTranslator.FromHtml("#FFFFAA"); 
    } 
} 

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     Visible="False" DataKeyNames="PatientID" DataSourceID="SqlDataSource1" 
     onselectedindexchanged="GridView1_SelectedIndexChanged" AllowSorting="True" onsorting="GridView1_Sorting"> 
    <Columns> 
     <asp:CommandField ShowSelectButton="True" /> 
     <asp:BoundField DataField="PatientID" HeaderText="Patient Id" SortExpression="PatientID" /> 
     <asp:BoundField DataField="LastName" HeaderText="Last Name" 
      SortExpression="LastName" /> 
     <asp:BoundField DataField="FirstName" HeaderText="First Name" 
      SortExpression="FirstName" /> 
     <asp:BoundField DataField="PathCount" HeaderText="Path Count" 
      SortExpression="PathCount" /> 
     <asp:BoundField DataField="DateOfService" DataFormatString="{0:d}" 
      HeaderText="Date of Service" SortExpression="DateOfService" /> 
    </Columns> 
</asp:GridView> 
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:PathologyConnectionString %>" 
     SelectCommand="SELECT * FROM [PatientDB]"> 
    </asp:SqlDataSource> 
<br /> 
</div> 
<div id="rightCol"> 
<asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource2" 
    Width="708px"> 
    <EditItemTemplate> 
     LastName: 
     <asp:TextBox ID="LastNameTextBox" runat="server" 
      Text='<%# Bind("LastName") %>' /> 
     <br /> 
     FirstName: 
     <asp:TextBox ID="FirstNameTextBox" runat="server" 
      Text='<%# Bind("FirstName") %>' /> 
     <br /> 
     DOB: 
     <asp:TextBox ID="DOBTextBox" runat="server" 
      Text='<%# Bind("DOB") %>' /> 
     <br /> 
     PhoneNumber: 
     <asp:TextBox ID="PhoneNumberTextBox" runat="server" 
      Text='<%# Bind("PhoneNumber") %>' /> 
     <br /> 
     ChartNumber: 
     <asp:TextBox ID="ChartNumberTextBox" runat="server" 
      Text='<%# Bind("ChartNumber") %>' /> 
     <br /> 
     AccountNumber: 
     <asp:TextBox ID="AccountNumberTextBox" runat="server" 
      Text='<%# Bind("AccountNumber") %>' /> 
     <br /> 
     PathResult: 
     <asp:TextBox ID="PathResultTextBox" runat="server" 
      Text='<%# Bind("PathResult") %>' /> 
     <br /> 
     PreviousVisitNote: 
     <asp:TextBox ID="PreviousVisitNoteTextBox" runat="server" 
      Text='<%# Bind("PreviousVisitNote") %>' /> 
     <br /> 
     PathSlipNote: 
     <asp:TextBox ID="PathSlipNoteTextBox" runat="server" 
      Text='<%# Bind("PathSlipNote") %>' /> 
     <br /> 
     PathSlipCheckboxes: 
     <asp:TextBox ID="PathSlipCheckboxesTextBox" runat="server" 
      Text='<%# Bind("PathSlipCheckboxes") %>' /> 
     <br /> 
     <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" 
      CommandName="Update" Text="Update" /> 
     &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" 
      CausesValidation="False" CommandName="Cancel" Text="Cancel" /> 
    </EditItemTemplate> 
    <InsertItemTemplate> 
     LastName: 
     <asp:TextBox ID="LastNameTextBox" runat="server" 
      Text='<%# Bind("LastName") %>' /> 
     <br /> 
     FirstName: 
     <asp:TextBox ID="FirstNameTextBox" runat="server" 
      Text='<%# Bind("FirstName") %>' /> 
     <br /> 
     DOB: 
     <asp:TextBox ID="DOBTextBox" runat="server" 
      Text='<%# Bind("DOB") %>' /> 
     <br /> 
     PhoneNumber: 
     <asp:TextBox ID="PhoneNumberTextBox" runat="server" 
      Text='<%# Bind("PhoneNumber") %>' /> 
     <br /> 
     ChartNumber: 
     <asp:TextBox ID="ChartNumberTextBox" runat="server" 
      Text='<%# Bind("ChartNumber") %>' /> 
     <br /> 
     AccountNumber: 
     <asp:TextBox ID="AccountNumberTextBox" runat="server" 
      Text='<%# Bind("AccountNumber") %>' /> 
     <br /> 
     PathResult: 
     <asp:TextBox ID="PathResultTextBox" runat="server" 
      Text='<%# Bind("PathResult") %>' /> 
     <br /> 
     PreviousVisitNote: 
     <asp:TextBox ID="PreviousVisitNoteTextBox" runat="server" 
      Text='<%# Bind("PreviousVisitNote") %>' /> 
     <br /> 
     PathSlipNote: 
     <asp:TextBox ID="PathSlipNoteTextBox" runat="server" 
      Text='<%# Bind("PathSlipNote") %>' /> 
     <br /> 
     PathSlipCheckboxes: 
     <asp:TextBox ID="PathSlipCheckboxesTextBox" runat="server" 
      Text='<%# Bind("PathSlipCheckboxes") %>' /> 
     <br /> 
     <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
      CommandName="Insert" Text="Insert" /> 
     &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" 
      CausesValidation="False" CommandName="Cancel" Text="Cancel" /> 
    </InsertItemTemplate> 
    <ItemTemplate> 
     Last Name: 
     <asp:Label ID="LastNameLabel" runat="server" Text='<%# Bind("LastName") %>' /> 
     &nbsp;&nbsp;&nbsp;&nbsp; First Name: 
     <asp:Label ID="FirstNameLabel" runat="server" Text='<%# Bind("FirstName") %>' /> 
     &nbsp;&nbsp;&nbsp;&nbsp; DOB: 
     <asp:Label ID="DOBLabel" runat="server" Text='<%# Bind("DOB") %>' /> 
     &nbsp;&nbsp; 
     <br /> 
     <br /> 
     Phone Number: 
     <asp:Label ID="PhoneNumberLabel" runat="server" 
      Text='<%# Bind("PhoneNumber") %>' /> 
     &nbsp;&nbsp;&nbsp;&nbsp; Chart Number: 
     <asp:Label ID="ChartNumberLabel" runat="server" 
      Text='<%# Bind("ChartNumber") %>' /> 
     &nbsp;&nbsp;&nbsp; Account Number: 
     <asp:Label ID="AccountNumberLabel" runat="server" 
      Text='<%# Bind("AccountNumber") %>' /> 
     <br /> 
     <br /> 
     Biopsy Location: 
     <asp:Label ID="BiopsyLocationLabel" runat="server" Text='<%# Bind("BiopsyArea") %>'></asp:Label> 
     <br /> 
     <br /> 
     Path Result: 
     <br /> 
        <asp:TextBox ID="PathResultLabel" runat="server" 
      Text='<%# Bind("PathResult") %>' ReadOnly="True" TextMode="MultiLine" Width="600" Height="250" /> 

     <br /> 
     <br /> 
     Previous Visit Note:<br /> 
     <asp:TextBox ID="PreviousVisitNoteLabel" runat="server" 
      Text='<%# Bind("PreviousVisitNote") %>' ReadOnly="True" TextMode="MultiLine" Width="600" Height="250" /> 
     <br /> 
     <br /> 
     Pathology Lab Note:<br /> 
     <asp:TextBox ID="txtPathNote" runat="server" 
      Text='<%# Bind("PathNote") %>' ReadOnly="True" TextMode="MultiLine" Width="600" Height="150" /> 
     <br /> 
     <br /> 
     Note to DA/DT:<br /> 
     <asp:TextBox ID="txtDADTNote" runat="server" 
      Text='<%# Bind("DADTNote") %>' ReadOnly="True" TextMode="MultiLine" Width="600" Height="150" /> 
     <br /> 
     <br /> 
     Path Slip Note:<br /> 
     <asp:Label ID="PathSlipNoteLabel" runat="server" 
      Text='<%# Bind("PathSlipNote") %>' /> 
     <br /> 
     <br /> 
     Path Slip Checkboxes: 
     <br /> 
     <asp:Label ID="PathSlipCheckboxesLabel" runat="server" 
      Text='<%# Bind("PathSlipCheckboxes") %>' /> 
     <br /> 
     <br /> 
     Patient Message:<br /> 
     <ASPNetSpell:SpellTextBox ID="txtPatientMessage" runat="server" TextMode="MultiLine" 
    DictionaryLanguage="English (International), English (Medical)" Height="88px" 
    Width="597px" Text='<%# Bind("PatientMessage") %>' onKeyPress="return macro(event);"></ASPNetSpell:SpellTextBox> 
    <br /> 
    <asp:Label ID="pathcountLabel" runat="server" Text = '<%# Bind("PathCount") %>' Visible="false"></asp:Label> 
    </ItemTemplate> 
</asp:FormView> 
<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
    ConnectionString="<%$ ConnectionStrings:PathologyConnectionString %>" 

    SelectCommand="SELECT [LastName], [FirstName], [DOB], [PhoneNumber], [ChartNumber], [AccountNumber], [PathResult], [PreviousVisitNote], [PathSlipNote], [PathSlipCheckboxes], [PathNote], [DADTNote], [BiopsyArea], [PatientMessage], [PathCount] FROM [PatientDB] WHERE ([PatientID] = @PatientID)"> 
    <SelectParameters> 
     <asp:ControlParameter ControlID="GridView1" Name="PatientID" 
      PropertyName="SelectedValue" Type="Int32" /> 
    </SelectParameters> 
</asp:SqlDataSource> 

Tôi đã thêm stack trace từ YSOD

Server Error in '/' Application. 
-------------------------------------------------------------------------------- 


Value cannot be null. 
Parameter name: key 
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.ArgumentNullException: Value cannot be null. 
Parameter name: key 

Source Error: 


An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 



[ArgumentNullException: Value cannot be null. 
Parameter name: key] 
    System.Collections.Generic.Dictionary`2.FindEntry(TKey key) +10627293 
    System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value) +12 
    Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.GetLiteralTraceData(LiteralControl literal, TraceData& data) +97 
    Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.GetTraceData(Object renderedObject) +421 
    Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.EndRendering(TextWriter writer, Object renderedObject) +79 
    System.Web.UI.RenderTraceListenerList.EndRendering(TextWriter writer, Object renderedObject) +58 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +142 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 
    System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128 
    System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 
    ASPNetSpell.SpellTextBox.Render(HtmlTextWriter writer) +6035 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 
    System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128 
    System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 
    System.Web.UI.WebControls.TableCell.RenderContents(HtmlTextWriter writer) +57 
    System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +32 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 
    System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128 
    System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 
    System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer) +10 
    System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +32 
    System.Web.UI.WebControls.FormViewRow.Render(HtmlTextWriter writer) +38 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 
    System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter writer) +211 
    System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +32 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 
    System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128 
    System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 
    System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer) +10 
    System.Web.UI.WebControls.FormView.Render(HtmlTextWriter writer) +86 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 
    System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128 
    System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 
    System.Web.UI.Control.Render(HtmlTextWriter writer) +10 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 
    System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128 
    System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +102 
    System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +32 
    System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +53 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +40 
    System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128 
    System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 
    System.Web.UI.Control.Render(HtmlTextWriter writer) +10 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 
    System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128 
    System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 
    System.Web.UI.Page.Render(HtmlTextWriter writer) +29 
    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 
    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1386 




-------------------------------------------------------------------------------- 
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18446 
+0

Tôi không thể thấy bất kỳ điều gì hiển nhiên từ mã bạn đã đăng. Bạn có thể thêm ảnh chụp màn hình của YSOD không? Có một dấu vết ngăn xếp hoặc bất cứ điều gì mà sẽ giúp mọi người gỡ lỗi này với bạn? Bạn có bất kỳ mã phía máy chủ nào trong các sự kiện formview không? – philreed

+0

Tôi đã thêm thông tin theo dõi ngăn xếp và tôi không có bất kỳ mã phía máy chủ nào liên quan đến formview ngoài những gì tôi đã liệt kê ở trên về việc nhận một số thông tin từ formview. – user3064073

+0

Đó là rất nhiều mã để đọc. Bạn có thể thu hẹp vấn đề của mình không? –

Trả lời

0

Tôi đã làm mới sqldatasource2 cho formview1, khi tôi đã cho phép tôi làm mới lược đồ và khóa cho formview1. Khi tôi làm việc đó, tôi đã xây dựng lại hình dạng để nhìn theo cách tôi cần, sau đó nó ngừng hoạt động trở lại. Tôi xác định nó là từ aspnetspell: kiểm soát hộp văn bản chính tả. Tôi đã tải xuống phiên bản mới nhất và nó hiện đang hoạt động.

+0

Đây không phải là câu trả lời được chấp nhận. Vấn đề là tất cả để làm với Visual Studio làm điều gì đó sai và không có gì để làm với SqlDataSource hoặc bất kỳ điều khiển biểu mẫu Web khác. – Richard

0

Đề nghị của tôi là để kiểm tra dữ liệu của bạn. Dường như bạn đang cố gắng ràng buộc một giá trị null cho điều khiển. Hãy chắc chắn rằng không có null trong DataSet của bạn trở lại từ cơ sở dữ liệu. Nó sẽ là cổng gọi đầu tiên của bạn.

+0

Tôi đã kiểm tra tất cả dữ liệu được trả lại và không có giá trị null. – user3064073

17

Tôi đã thử mọi thứ bạn đã nói và nó không hoạt động. Tuy nhiên, tôi tìm thấy một cách giải quyết rằng, vì một lý do nào đó tôi không biết, đã làm việc. tôi thêm này để tập tin web.config của tôi:

<add key="PageInspector:ServerCodeMappingSupport" value="Disabled" /> 

Và nó làm việc cho tôi: D

+1

Sau khi lãng phí nửa ngày để giải quyết vấn đề này và cuối cùng đã nhận được từ đây .. Tuyệt vời, Cảm ơn người đàn ông .. !!! –

5

Thử đóng Visual Studio và và truy cập vào cùng một trang. Nó sẽ hoạt động. Tôi cũng phải đối mặt với cùng một ngoại lệ. Nếu bạn thấy ngoại lệ, nó trỏ tới PageInspector of Visual studio gây ra vấn đề. Bạn không chắc chắn tại sao VS lại rối tung với tải ứng dụng.

+0

wow ... Bây giờ là lúc để tìm ra lý do tại sao điều đó xảy ra lol –

0

Tôi vừa mới có vấn đề này và đối với tôi nó đã xảy ra khi thêm một LiteralControl từ mã phía sau. Thuộc tính Text là null và Pageetspector rối loạn này, vì vậy chỉ cần đặt nó thành string.Empty.

Tôi khuyên bạn không nên tắt các tính năng như vậy vì khi một nhà phát triển khác trên một máy khác kế thừa mã của bạn, họ sẽ có cùng một vấn đề.

Các vấn đề liên quan