好的,我在這裏有一些代碼從我的項目。在C中的文本框和頁面加載的問題#
基本上用戶進入頁面,他們當前的密碼在密碼文本框中,他們的頭像在下拉列表中被選中。
他們可以通過編輯文本框中的文本來更改密碼,並通過從列表中選擇一個新的頭像來更改他們的頭像。然後將其寫入保存此信息的文件中。它寫入文件好,但它寫入了最初在文本框和下拉列表中的內容。
如果我註釋掉在頁面加載這些行:
avatarDropList.SelectedValue = Session["avatar"].ToString();
newPasswordTextbox.Text = Session["password"].ToString();
它更新正確的文件,但是這不是我想要的,我想要顯示的舊密碼有最初以及化身在保管箱中選擇。下面
代碼:
public partial class TuitterProfile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
avatarImage.ImageUrl = "~/images/avatars/" + Session["avatar"] + ".gif";
avatarDropList.SelectedValue = Session["avatar"].ToString();
userNameTextbox.Text = Session["user"].ToString();
newPasswordTextbox.Text = Session["password"].ToString();
}
protected void okButton_Click(object sender, ImageClickEventArgs e)
{
string username = Session["user"].ToString();
string password = Session["password"].ToString();
string newPassword = newPasswordTextbox.Text;
string newAvatar = avatarDropList.SelectedValue;
int allDataReference = -1;
//Each element in the array is a string(Username Password Avatar)
string[] allData = File.ReadAllLines(Server.MapPath("~") + "/App_Data/tuitterUsers.txt");
for (int i = 0; i < allData.Length; i++)
{
string[] user = allData[i].Split(' ');
if (user[0] == username && user[1] == password)
{
allDataReference = i;
}
}
if (allDataReference > -1)
{
Session["avatar"] = newAvatar;
Session["password"] = newPassword;
allData[allDataReference] = username + " " + newPassword + " " + newAvatar;
File.WriteAllLines(Server.MapPath("~") + "/App_Data/tuitterUsers3.txt", allData);
}
}
}
請重新命名的問題,使之更具描述性 –
什麼標題:) – Sachin
感謝誰修復它我不知道我在做什麼:) – Rothmanberger