私は現在非常に奇妙な問題に遭遇しています。私はいくつかのファイルをアップロードするasp.netウィザードを使用しています。ファイルはpluploadを使用してアップロードされます。ファイルがアップロードされた後、私はセッション変数に格納されたアップロードファイルのリストを持っています。セッション変数を使用して、アップロードファイルを示す表を作成します。ユーザは、テーブルのドロップダウンを使用してファイルカテゴリを設定するオプションを持つようになりました。ユーザが「終了」ボタンをクリックすると、コードはテーブルのファイルとカテゴリのリストを読み込みます。奇妙なことに、このコードは開発マシンといくつかのサーバーで正常に動作しますが、特定のクライアントサーバーではドロップダウン値は常にnullとして返されます。関連するコードは次のとおりです。リピーターのasp.netドロップダウンで選択された値が返されない
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);
}
ウィザード全体がユーザーコントロール上に存在することに注意してください。誰もがこのコードが大部分のマシンでうまく動作するが、ある特定のサーバでうまくいかない理由を知っていますか?
「終了」ボタンはリンクボタンですか? 「終了」ボタンのレンダリングされたHTMLはどのように見えますか? –