none
书中附的代码也报错,看不懂了。谢谢。 RRS feed

  • 问题

  • Timer.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Timer.aspx.cs" Inherits="Timer" %>

       
        <%@ Register Assembly="System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        Namespace="System.Web.UI" TagPrefix="asp" %>//这里也有疑问,Version=2.0.0.0是啥意思,要不要改成其他的,

    <!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>
    </head>
    <body>
        <form id="form1" runat="server">
                <asp:ScriptManager ID="ScriptManager1" runat="server">
                </asp:ScriptManager>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate>
    <asp:Label id="txtTime" runat="server" __designer:wfdid="w1"></asp:Label>   //这里报错:错误 1 无法识别的标记前缀或设备筛选器“__designer”。
    //警告 2 验证 (ASP.Net): 属性“wfdid”不是元素“Label”的有效属性。 

    </ContentTemplate>
    </asp:UpdatePanel>
            <asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
            </asp:Timer>
        </form>
    </body>
    </html>


    timer.aspx.cs
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Drawing;

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

        }
        protected void Timer1_Tick(object sender, EventArgs e)
        {
            Label txtTime = (Label)UpdatePanel1.FindControl("txtTime");
            txtTime.Text = "服务器现在时间是:" + DateTime.Now.ToLongTimeString();
            int red = new Random().Next(255);
            System.Threading.Thread.Sleep(100);  //暂停100毫秒
            int green = new Random().Next(255);
            System.Threading.Thread.Sleep(100);
            int blue = new Random().Next(255);
            txtTime.BackColor = Color.FromArgb(red, green, blue);
            txtTime.ForeColor = Color.FromArgb(green, blue, red);
        }
    }


    maiyude
    2009年8月22日 9:12

答案

  • 你好,Register指令用于创建程序集,这个程序集System.Web.Extensions要和你系统的C:\WINDOWS\assembly文件夹中的版本一一对应。否则不会出错。同时一般这个程序集一般我们都不用加载,项目在配置文件Web.config已经定义加载了。错误一是由这个版本号与你机器不统一导致的。


    wfdid="w1" 属性不是Web服务器控件默认属性,编译器不支持,需要删除,但是HTML标签支持自定义属性,如果需要加这个属性,可以通过代码在生成HTML输出的时候添加该键值对。
    jon.valett@gmail.com
    2009年8月22日 17:44
    版主
  • 2009年8月23日 6:15

全部回复

  • System.Web.Extensions, Version=2.0.0.0 是指 System.Web.Extensions 的版本信息,改了可能出错
    __designer:wfdid="w1" 可以删除


    知识改变命运,奋斗成就人生!
    2009年8月22日 9:16
    版主
  • Timer_gdiplus.aspx
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Timer_GdiPlus.aspx.cs" Inherits="Timer_GdiPlus" %>


       
    <%@ Register Assembly="System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        Namespace="System.Web.UI" TagPrefix="asp" %>   
        <!--这里报错 ,错误 3 未能加载文件或程序集“System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。 -->

    <!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>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
       
        </div>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <img id="imgTime" src="" runat="server" alt="a" />
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
            </asp:Timer>
        </form>
    </body>
    </html>

    time_gdiplus
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

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

        }

        protected void Timer1_Tick(object sender, EventArgs e)
        {
            imgTime.Visible = true;
            imgTime.Src = "ImageHandler.ashx?" + DateTime.Now.Second;
        }
    }


    maiyude
    2009年8月22日 9:21
  • 版本不匹配
    使用 System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 试试,或是删除重新引用一下试试
    知识改变命运,奋斗成就人生!
    2009年8月22日 10:04
    版主
  • 安装vs2005 的asp.net ajax1.0程序包了吗?
    2009年8月22日 11:14
  • 怀疑你是不是安装了 asp.net ajax2.0版本程序包 那是vs2008的啊
    vs2005可能用不了

    2009年8月22日 11:31
  • 你好,Register指令用于创建程序集,这个程序集System.Web.Extensions要和你系统的C:\WINDOWS\assembly文件夹中的版本一一对应。否则不会出错。同时一般这个程序集一般我们都不用加载,项目在配置文件Web.config已经定义加载了。错误一是由这个版本号与你机器不统一导致的。


    wfdid="w1" 属性不是Web服务器控件默认属性,编译器不支持,需要删除,但是HTML标签支持自定义属性,如果需要加这个属性,可以通过代码在生成HTML输出的时候添加该键值对。
    jon.valett@gmail.com
    2009年8月22日 17:44
    版主
  • 书中的代码,并不一定都是对的!况且,现在一些出版书籍,内容都是收集网上资料七拼八凑汇集而成,质量很差!
    http://hi.baidu.com/2009ajun
    2009年8月22日 22:44
  • 你好2.0.0.0是这个程序集的版本,但是我记得好像不是2.0.0.0,你检查下你是否安装了Ajax Library 改成对应的版本就可以了
    
    另外,现在什么人都可以写书,很多书并不一定那么权威,而且很多都有错误,所以并不能完全去相信的,包括很多人网上的博客,很多时候仅可以参考下,多带着怀疑的态度去学习收获更大
    

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月23日 4:28
    版主
  • 请问怎么才能删除重新引用一下啊,教教偶。。。
    maiyude
    2009年8月23日 6:07
  • 偶装过了。但不知道怎么引用?
    maiyude
    2009年8月23日 6:08
  • 2009年8月23日 6:15
  • 听说删除再引用可以的。偶把原来的注释掉了,(偶装过 asp.net ajax 1.0的包包)
    然后  在 菜单栏上面 点击 网站->添加引用->.net选项->System.Web.Extensions ,是这样点击么?点击完了,好像没啥变化啊,谁教教偶啊。
    maiyude
    2009年8月23日 6:28
  • 你好,显示的错误信息是什么啊?还是一片空白!
    jon.valett@gmail.com
    2009年8月23日 16:43
    版主
  • 版本不匹配
    使用 System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 试试,或是删除重新引用一下试试
    知识改变命运,奋斗成就人生!

    咱们一般下载的  只有1.06和  3.5

    这个2.000太诡异!!
    答案破千 马上就要到5星用户了 嘿嘿~~
    2009年8月24日 5:07