如前台Web.master文件里定义如下:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Web.master.cs" Inherits="lishang365.Web"  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
     <title><%=Title%></title>
</head>后台Web.master.cs中定义如下:
 public partial class Web : System.Web.UI.MasterPage
    {
        public string Title;
         protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                 Title = "主页";
            }
          }
为什么不生效呢?

解决方案 »

  1.   

    if (!IsPostBack)
      {
      Title = "主页";
      }=>Title = "主页";
      

  2.   

    if (!IsPostBack)
      {
      Title = "主页";
      }=>Title = "主页";
      

  3.   

    验证了,不是if (!IsPostBack)这个判断的问题,
    对于<title><%=Title%></title>,Title = "主页";的方式都能赋值,
    但对于在元素属性中的变量替换,如 <link rel="index" title="<%=Title%>" href="#" />,不论怎么样写都替换不了变量,除非把title属性的双引号去掉,就能成功替换,不知道为什么
      

  4.   

    你验证了? 写在 if (!IsPostBack) 只是第一次加载显示,页面回发之后 Title 就没了.
      

  5.   

    title="<%=Title%>" 不好用是 <head runat="server"> 的原因"" 中的 <%=Title%> 没有被解析
      

  6.   

    title="<%=Title%>"  不好用是 <head runat="server"> 的原因"" 中的 <%=Title%> 没有被解析
      

  7.   

    这个简单:把这个<head runat="server">换成<head>就可以了。。你试下。