asp.net使用masterPage超链接更改语言

时间:2013-06-26 17:18:54

标签: c# hyperlink master-pages translation

假设我的子页面包含以下超链接

http://localhost:7621/PDWv1.0.4/ProductList.aspx?categoryID=2

ProductList.aspx的页面加载如下(Page_Load部分)

if (!Page.IsPostBack)
    {
        l_categoryParseId = Request.QueryString["categoryID"];
        if (l_categoryParseId == null || l_categoryParseId.Trim() == null ||
            l_categoryParseId == "" || l_categoryParseId.Trim() == "")
        {
            l_productlist = l_access.getProductList(-1, lang);
        }
        else
        {
            int categoryID = Int32.Parse(l_categoryParseId.ToString());
            l_productlist = l_access.getProductList(categoryID, lang);
        }

        for (int i = 0; i < l_productlist.Rows.Count; i++)
        {
            String path = "http://www.newrising.com.hk";
            String httpPath = path + l_productlist.Rows[i]["productPhoto"].ToString();
            l_productlist.Rows[i]["productPhoto"] = httpPath;
        }

        listViewProductList.DataSource = l_productlist;
        listViewProductList.DataBind();

       // GridViewProductList.DataSource = l_productlist;
        //GridViewProductList.PageSize = 10;
        //GridViewProductList.AllowPaging = true;
        //GridViewProductList.RowCommand += new GridViewCommandEventHandler(GridViewProductList_ItemCommand);
        //GridViewProductList.DataBind();   
    } 

主页更改语言的超链接:

MasterPage.aspx

     <asp:HyperLink ID="linkChi" runat="Server"                           
                       ImageUrl="images/chinese.png"  />
                    <asp:HyperLink ID="linkEng" runat="Server"                           
                        ImageUrl="images/english.png" />

MasterPage.aspx.cs

    linkChi.NavigateUrl = "?currentculture=zh-hk";
linkEng.NavigateUrl = "?currentculture=en-us";

每当我按linkChi或linkEng切换语言时,都显示页面为空白..

请您告诉我如何确保在页面回发下保留categoryID的值?

1 个答案:

答案 0 :(得分:1)

我不知道你的问题是什么,但如果你问如何在回发后保持价值,你可以随时使用

ViewState["categoryID"] = categoryID;