从PageLoad里读数据库里的一个News对象,显示到asp.net页面中,有以下几种方法。------------------- 普通变量: -------------------------
 private string _keyword,_title;public string Title
    {
        get
        {
            return _title;
        }
        set { _title=value; }
    }public string Keyword
    {
        get
        {
            return _keyword;
        }
        set { _keyword=value; }
    }前台可以用<%=Title%>调用多次。------------------ ViewState ------------------------public string Title
    {
        get
        {
            if (ViewState["Title"] != null)
            {
                return ViewState["Title"].ToString();
            }
            else
            {
                return "";
            }
        }
        set { ViewState["Title"] = value; }
    }
前台也可以用<%=Title%>调用多次。------------------ 控件 ------------------------
.cs里 Title.Text=model.Title;
.aspx里<asp:Literal ID="Title" runat="server"></asp:Literal>
问题是多处调用标题,就需要创建多个asp:Literal
第一种方式应该是性能最好的吧?高并发,大访问量下是否会出现问题呢?

解决方案 »

  1.   

    你如何测试它?比如拖入一个Button到页面里做个回发测试,你的第一种方法在回发时还有值吗?
      

  2.   

    说到性能可能LZ把C/S与B/S模式搞混了,B/S模式是服务器每次只会处理一次客户端请求,不管成功与否处理理完后都会断开与客户端的联系,直到客户端的下一次请求
      

  3.   


    不需要提交,还讨论性能?本来就应该怎样简单怎样编程,根本就不用去探讨什么性能问题,看代码是不是不容易读懂,就知道应该不用ViewState了。纠结技术的名词,动不动就说“性能、高并发”,大多数时候都不是正确编程的出发点。
      

  4.   

    需求就是新闻显示,从数据库读新闻转成Model然后在aspx页面中显示出来,比如标题,日期,内容,浏览量等,过去都是用<asp:Literal ID="Title" runat="server"></asp:Literal>
    <asp:Literal ID="Hits" runat="server"></asp:Literal>
    <asp:Literal ID="Content" runat="server"></asp:Literal>
    这种方式,如果多次显示Title就需要建立多个
    <asp:Literal ID="Title" runat="server"></asp:Literal><asp:Literal ID="Title1" runat="server"></asp:Literal><asp:Literal ID="Title2" runat="server"></asp:Literal>
    后来我发现用public string Title
       {
       get
       {
       if (ViewState["Title"] != null)
       {
       return ViewState["Title"].ToString();
       }
       else
       {
       return "";
       }
       }
       set { ViewState["Title"] = value; }
       }
    可以在aspx里调用多次,免去了建立多个控件的麻烦,后来看文章说viewstate比较占资源,发现用public string Title
       {
       get
       {
       return _title;
       }
       set { _title=value; }
       }
    也可以在页面中用<%=Title%>调用多次,我的疑惑是,这种方式会出现什么潜在的问题吗?在大访问量下