首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

post表单时原来页面上的静态字段能清空么

2013-12-15 
post表单时原来页面上的静态字段会清空么?public partial class Admin_addMenu : System.Web.UI.Page{prot

post表单时原来页面上的静态字段会清空么?

public partial class Admin_addMenu : System.Web.UI.Page
{
    protected string id;
    protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            id = Request.QueryString["id"];
            if (id != "" && id != null)
            {
                getList();
                this.tijiao.Value = "编辑";
                DataSet ds = MenuDAL.returnGlobal(id);
                ds = MenuDAL.returnGlobal(id);
                this.title.Value = ds.Tables[0].Rows[0]["Title"].ToString();
                this.link.Value = ds.Tables[0].Rows[0]["pageLink"].ToString();
                this.menuid.Value = ds.Tables[0].Rows[0]["ID"].ToString();
                this.isuse.SelectedIndex = ((ds.Tables[0].Rows[0]["isUse"].ToString().ToLower()) == "true") ? 1 : 0;
                this.myDropdownlist.SelectedValue = ds.Tables[0].Rows[0]["parentID"].ToString();
            }
            else
            {
                this.tijiao.Value = "提交";
                getList();
            }
        }


    }
 protected void addMenu(object sender, EventArgs e)
    {
        string _title = this.title.Value;
        string _link = this.link.Value;
        string _id = this.menuid.Value;
        string _parentid = myDropdownlist.SelectedValue;
        string _isUse = this.isuse.Value;
        int result = (id != null && id != "") ? 1 : -1;
        result = MenuDAL.isSuccess(result, _title, _link, _id, _parentid, _isUse);
        if (result > 0)
        {
            RegisterStartupScript("提示", "<script>alert('操作成功!');location.href='WebSet.aspx'</script>");
        }
        else
        {
            RegisterStartupScript("提示", "<script>alert('操作失败!');</script>");
        }
    }
}

这是一个栏目编辑页面,如果栏目是新增加的话就不会查询到id值,但是如果是编辑原有的栏目的话就回有id值,通过 Request.QueryString方法找到这个值,但是当我点击提交按钮的时候他这个值就没了前台是用的post 方法,然后提交按钮是
<input type="submit" value=" 编辑 " style="padding: 2px 3px" runat="server" onserverclick="addMenu"
                        id="tijiao" />

点击提交的时候在提交事件里就查找不到id这个值了


[解决办法]
把你的

     protected string id;

改为类似这样的代码

private string id
{
    get{ (string)ViewState["id"]; }
    set{ ViewState["id"]=value; }
}



不要仅仅照抄!这是asp.net最基本的状态管理机制,因为web本身是无状态,所以才有了asp.net的这种状态机制。要搞懂原理。

热点排行