У меня сейчас очень странная проблема.Я использую мастер asp.net для загрузки некоторых файлов.Файлы загружаются с помощью plupload.После того, как файлы загружены, у меня есть список файлов загрузки, сохраненных в переменной сеанса.Я использую переменную сеанса для создания таблицы, показывающей загружаемые файлы.Теперь у пользователя есть возможность установить категорию файла, используя раскрывающийся список в таблице.Когда пользователь нажимает кнопку «Готово», код считывает список файлов и категорию из таблицы.Странно то, что этот код прекрасно работает на моей машине разработки и на нескольких серверах, но на конкретном клиентском сервере значение раскрывающегося списка всегда возвращается как ноль.Вот соответствующий код:
protected void Page_Init(object sender, EventArgs e)
{
bindRepeater();
}
private void bindRepeater()
{
ArrayList sessionFiles = (ArrayList)Session["PLUploadFiles"];
IList<document> files = new List<document>();
foreach (string fileName in sessionFiles)
{
document doc = new document();
doc.FileName = fileName;
doc.Description = fileName.Split('.').First();
files.Add(doc);
}
TableRepeater.DataSource = files;
TableRepeater.DataBind();
}
protected void SaveButton_Click(object sender, EventArgs e)
{
foreach (RepeaterItem item in TableRepeater.Items)
{
Label descriptionLabel = (Label) item.FindControl("DescriptionLabel");
String description = descriptionLabel.Text;
Label fileNameLabel = (Label)item.FindControl("FileNameLabel");
String fileName = fileNameLabel.Text;
DropDownList categoryDropDown = (DropDownList) item.FindControl("CategoryDropDownList");
string category = categoryDropDown.SelectedValue;
if(SaveClicked != null)
{
SaveEventArgs s = new SaveEventArgs();
s.FileName = fileName;
s.Category = category;
s.Description = description;
SaveClicked(this, s);
}
}
Response.Redirect(RedirectURL);
}
Обратите внимание, что весь мастер живет в пользовательском контроле.Кто-нибудь понял, почему этот код работает нормально на большинстве машин, но не работает на одном конкретном сервере?