Я получаю "желтый экран смерти" при отладке веб-сайта, над которым я работаю. Сообщение об ошибке: "Значение не может быть пустым. Имя параметра: key." Я пытаюсь связать formview с выбранным индексом gridview. Кажется, что все правильно связывается, когда я устанавливаю точки останова в моем выбранном методеindexchanged, я могу просматривать значения моего вида формы, но когда я продолжаю его запуска, я получаю вышеуказанное сообщение об ошибке. Я попытался добавить свойство datakeynames в formview и получить то же сообщение об ошибке. Я искал здесь и google и вижу некоторые результаты, но никто, кажется, не исправляет или не касается моей проблемы.
Ниже приведен код:
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" />
<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" />
<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") %>' />
First Name:
<asp:Label ID="FirstNameLabel" runat="server" Text='<%# Bind("FirstName") %>' />
DOB:
<asp:Label ID="DOBLabel" runat="server" Text='<%# Bind("DOB") %>' />
<br />
<br />
Phone Number:
<asp:Label ID="PhoneNumberLabel" runat="server"
Text='<%# Bind("PhoneNumber") %>' />
Chart Number:
<asp:Label ID="ChartNumberLabel" runat="server"
Text='<%# Bind("ChartNumber") %>' />
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>
Я добавил трассировку стека из 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