C# Asp下拉列表的设置值无效

C# Asp下拉列表的设置值无效,c#,dropdownlistfor,C#,Dropdownlistfor,我有一个asp.net下拉列表,用于过滤RadGrid。应用过滤器后,我可以单击一行在单独的页面上编辑记录。如果选择了错误的行,我需要提供返回到上一个搜索页面并使用相同过滤器显示相同记录的功能。我已经处理了返回并显示了相同的过滤记录 我还需要在下拉列表中显示与创建过滤器相同的值。我正试图使用会话变量来实现这一点。会话变量是在搜索单击时创建的,当用户返回搜索页面时,我尝试使用此代码从下拉列表中选择相同的项目 string value = (Session["ComplaintType"] != n

我有一个asp.net下拉列表,用于过滤RadGrid。应用过滤器后,我可以单击一行在单独的页面上编辑记录。如果选择了错误的行,我需要提供返回到上一个搜索页面并使用相同过滤器显示相同记录的功能。我已经处理了返回并显示了相同的过滤记录

我还需要在下拉列表中显示与创建过滤器相同的值。我正试图使用会话变量来实现这一点。会话变量是在搜索单击时创建的,当用户返回搜索页面时,我尝试使用此代码从下拉列表中选择相同的项目

string value = (Session["ComplaintType"] != null) ? Session["ComplaintType"].ToString() : String.Empty;
                ddlComplaint.Items.FindByValue(value).Selected = true;
当我收到以下错误消息时,它不起作用:对象引用未设置为对象的实例


不确定为什么会出现该错误字符串值等于从下拉列表中选择的项目的文本值???

我可以通过在BindDropDown方法中设置dropdownlist selected值来解决此问题,在该方法中,我将数据库绑定到数据库。绑定后,我可以从数据库中选择一个值作为默认值。

确保会话变量不为null,如果尝试执行此操作,它将失败=else语句中的null和.ToString如果为null,则会显示该错误谢谢我的检查,会话变量返回的文本值与下拉列表中选择的文本值相同。您是说文本值吗?验证您正在比较值(您看不到的代码)或您在UI中看到的文本。我从下拉列表中选择XYZ,当我从编辑页面返回搜索页面时,会话变量等于XYZ。您在UI中看到的可能与后端值不匹配。显示值(您看到的)和值可能会有所不同,具体取决于代码的设置方式