我在使用aspx上传控件&在单个aspx页面上下拉列表。
这是错误......
Object reference not set to an instance of an object.
这是我的on_submit的代码......
protected void ASPxUploadControl1_FileUploadComplete(object sender, DevExpress.Web.ASPxUploadControl.FileUploadCompleteEventArgs e)
{
if (e.IsValid)
{
string uploadDirectory = Server.MapPath("~/files/");
//string uploadDirectory = "//DOCSD9F1/TECHDOCS/";
string uploadFolder = DropDownList1.SelectedItem.Text;
string fileName = e.UploadedFile.FileName;
string path = (uploadDirectory + uploadFolder + fileName);
e.UploadedFile.SaveAs(path);
e.CallbackData = fileName;
}
}`
这是我创建下拉列表的代码...
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DirectoryInfo di = new DirectoryInfo("D:/SMGUpload/SMGUpload/files");
DropDownList1.DataSource = di.GetDirectories();
DropDownList1.DataBind();
foreach (DirectoryInfo i in di.GetDirectories())
{
DropDownList1.DataTextField = i.FullName;
DropDownList1.DataValueField = i.FullName;
}
}
}`
答案 0 :(得分:0)
您可能想尝试一下:
if(!Page.IsPostBack){
DirectoryInfo di = new DirectoryInfo("D:/SMGUpload/SMGUpload/files");
DirectoryInfo[] diArr = di.GetDirectories();
DropDownList1.DataSource = diArr;
DropDownList1.DataTextField = "Name";
DropDownList1.DataValueField = "Name";
DropDownList1.DataBind();
}
获取所选值,如:
string uploadFolder = DropDownList1.SelectedValue;
仅供参考:确保在上传文件时您正在创建的路径中有正确的斜杠(/)。