开发者

ASP.NET DropDownList Replacement

Currently, I'm populating a drop down list when a file is created in a configura开发者_高级运维ble folder.

if (!downloadRspDropDown.Items.Contains(new ListItem(txt, fileData.FullName))

Then, I add the file and remove "No Responses Available".

However, if the same file is resubmitted (i.e., the file name is the same but the timestamp is different), then I want to remove the older entry and replace it with a new entry in the drop down list.

I have the filename, so I go into the "else" block from the line of code above. From there, I'm checking to see if I have the same filename and a different creation time.

if (downloadRspDropDown.Items.Contains(new ListItem(txt, fileData.FullName) && downloadRspDropDown.Items.Contains(new ListItem(txt, fileData.CreationTime)

From here, I want to find the position, remove it, and add the new text. This approach isn't working. Can anyone offer an alternate approach?


I dont know if that is your current problem, but this line is definitly causing trouble:

if (!downloadRspDropDown.Items.Contains(new ListItem(txt, fileData.FullName))

What you probably want to achieve is a check for equality based on a value. But this line of code performs an equality check based on a reference and can't be true, because you create a new ListItem that definitly has another reference than the item already added to the Dropdownlist.

Try to use the .FindByValue method instead.

Edit based on comment: Try something like this:

ListItem _li = downloadRspDropDown.Items.FindByValue(fileData.FullName);
if(_li != null)
{
 downloadRspDropDown.Items.Remove(_li);
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜