Variabel gemmes ikke? (Sessions)
Hej Eksperter.Jeg laver en simpel administrations-side til min website. På denne side er der en dropdownlist som indeholder samtlige filer der er på min website. Det er så meningen at så snart jeg vælger en fil i listboksen så skal sourcen til denne vises i en tekstboks.
Jeg kan dog ikke få det til at virke. dropdownlisten bliver ved med at "nulstille sig" og den fil der klikkes på gemmes åbenbart ikke selvom jeg har forsøgt med en Session["stream"]. Sourcen til code-behindfilen er herunder. Det er metoden: ddlEditPage_SelectedIndexChanged der kaldes når der i dropdownlisten vælges en fil. Kan i se hvad jeg gør galt..beklager at koden måske er lidt rodet efter at jeg har forsøgt alt muligt :-(
public partial class Admin : System.Web.UI.Page
{
private string selected;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Session["selected"] = selected;
Session["stream"] = "";
DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath(@"~\"));
FileInfo[] fileList = dirInfo.GetFiles();
ddlEditPage.DataSource = fileList;
ddlEditPage.DataBind();
}
ddlEditPage.SelectedValue = (string)Session["selected"];
Label1.Text = (string)Session["selected"];
txbEditPage.Text = (string)Session["stream"];
}
protected void btnEditPage_Click(object sender, EventArgs e)
{
StreamReader sr;
txbEditPage.Text = "";
string selected = "";
//selected = ddlEditPage.SelectedValue;
Session["selected"] = ddlEditPage.SelectedValue;
selected = Session["selected"].ToString();
try
{
sr = File.OpenText(Server.MapPath(selected));
txbEditPage.Text = sr.ReadToEnd();
sr.Close();
}
catch (Exception eee)
{
Response.Write(eee.Message);
Response.End();
}
finally
{
}
}
protected void ddlEditPage_SelectedIndexChanged(object sender, EventArgs e)
{
StreamReader sr;
txbEditPage.Text = "";
Session["selected"] = ddlEditPage.SelectedItem.Text;
try
{
sr = File.OpenText(Server.MapPath(@"~\" + Session["selected"].ToString()));
Session["stream"] = sr.ReadToEnd();
txbEditPage.Text = Session["stream"].ToString();
sr.Close();
}
catch (Exception eee)
{
Response.Write(eee.Message);
Response.End();
}
finally
{
}
}
}
