Возникла исключительная ситуация NullReferenceException - выпадающий список ASP.Net 4 C #

1

У меня есть раскрывающийся список, содержащий пробел, Да и Нет. Если пользователь выбирает Нет, я хочу, чтобы Label1 сказал "Больше информации не требуется".

Я получаю nullreferenceexception при отладке. Значение в SQL db поля равно NULL, когда пользователь получает доступ к раскрывающемуся списку, я хочу, чтобы они могли выбирать "Да" или "Нет", а также если они выбрали и сохранили "Да" "или" Нет "ранее, я также хочу, чтобы они могли вернуться и выбрать пустое, которое будет возвращать NULL в базу данных.

Какой самый простой способ справиться с этим? Я предполагаю, что ошибка выбрасывается из-за значения NULL в БД?

Код:

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"
             SelectedValue='<%# Bind("BlahBlah") %>' 
             onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem></asp:ListItem>
            <asp:ListItem>Yes</asp:ListItem>
            <asp:ListItem>No</asp:ListItem>
         </asp:DropDownList>'

полный cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace FrontEnd_v1
{
public partial class WebForm1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {


        if (DropDownList1.SelectedValue == "No")
        {
            Label1.Text="No Further Info Required";
        }

        else
        {
            Label1.Text="";
        }



    }
}

}

designer.cs:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated. 
// </auto-generated>
//------------------------------------------------------------------------------

namespace FrontEnd_v1 {


public partial class WebForm1 {

    /// <summary>
    /// FormView1 control.
    /// </summary>
    /// <remarks>
    /// Auto-generated field.
    /// To modify move field declaration from designer file to code-behind file.
    /// </remarks>
    protected global::System.Web.UI.WebControls.FormView FormView1;

    /// <summary>
    /// RM_Remediation control.
    /// </summary>
    /// <remarks>
    /// Auto-generated field.
    /// To modify move field declaration from designer file to code-behind file.
    /// </remarks>
    protected global::System.Web.UI.WebControls.SqlDataSource SQLSource;


    /// <summary>
    /// Button1 control.
    /// </summary>
    /// <remarks>
    /// Auto-generated field.
    /// To modify move field declaration from designer file to code-behind file.
    /// </remarks>
    protected global::System.Web.UI.WebControls.Button Button1;

    protected global::System.Web.UI.WebControls.DropDownList DropDownList1;

    protected global::System.Web.UI.WebControls.Label Label1;
    }
 }
  • 0
    Где вы получаете исключение, где объявлен Label1 ?
  • 0
    Он объявлен в файле designer.cs как защищенный: global :: System.Web.UI.WebControls.Label Label1; выдается ошибка при выборе чего-либо из выпадающего в режиме отладки
Показать ещё 5 комментариев
Теги:

2 ответа

1

Если он показывает NULL в SQL, это означает, что на нем не было введено никакого значения. Вы можете захотеть повторно внедрить значения в свою БД, потому что NULL - это фактически пустое поле.

  • 0
    Да, я знаю это - я хочу, чтобы это было NULL в SQL, если пользователь не выбрал Да или Нет
  • 0
    Затем укажите, что это строка, как в строке Result = "NULL"; в вашем коде и сохраните результат в SQL как тип поля Varchar
1

попробуйте этот код. Добавить значение в ListItem.

  <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"
         SelectedValue='<%# Bind("BlahBlah") %>' 
         onselectedindexchanged="DropDownList1_SelectedIndexChanged">
      <asp:ListItem></asp:ListItem>
      <asp:ListItem Value="Yes" Text="Yes"></asp:ListItem>
      <asp:ListItem Value="No" Text="No"></asp:ListItem>
    </asp:DropDownList>'
  • 0
    К сожалению, не работает - та же ошибка .. спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню