none
在petshop中新建一个窗体发现的问题。 RRS feed

  • 问题

  • <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head><link href="App_Themes/PetShop/StyleSheet.css" type="text/css" rel="stylesheet" /><title> 
    	无标题页
    </title><link href="App_Themes/PetShop/StyleSheet.css" type="text/css" rel="stylesheet" /></head> 
    <body> 
        <form name="form1" method="post" action="zhukeTest.aspx" id="form1"> 
    <div> 
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGTiRUiTnmqKoYzmdCQg5zBeP7ugtQ==" /> 
    </div> 
     
        <div> 
        
        </div> 
        </form> 
    </body> 
    </html>
    我在petshop中新建了一个窗体,运行后发现程序自动的给我的新建的窗体添加了CSS以及<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGTiRUiTnmqKoYzmdCQg5zBeP7ugtQ==" /> ,我想问一下这个是怎么实现的,好像有很多地方都可以用它 。
    2009年9月16日 11:56

答案

全部回复

  • Hi,
      PetShop是Asp.net的示例程序。现在最新的是4.0了
    1.样式文件:
      你可以查找一下这个页面是不是使用了master page.是不是模板页里已经设置了css文件。
    2.<input type="hidden" name="__VIEWSTATE:
     asp.net为了实现视图状态的特性,就只能借助这种隐藏域,然后在结合后台框架的一些内部代码。
      这个asp.net的一套机制,它本质上还是要转换为html标签,最后呈献给客户端。
    3.还有就是事件,asp.net为了模拟事件,这里还会在页面上增加一些隐藏域,然后后台处理隐藏域的值。
      你可以在页面上拖个asp.net button,然后双击,后台实现一个方法,运行后你看一下html的源码。
      也可以发现一些类似的东西~

    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的中文技术博客:Welcome to My Chinese Technical Blog
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum
    2009年9月16日 13:16
    版主
  • 那是视图状态 用来保存一些数据信息
    服务端控件叫HiddenField就是这个
    代码类型ViewState["name"]  类似session
    客户端元素 <input type="hidden" />
    2009年9月16日 13:18
  • <%@ Page Language="C#" AutoEventWireup="true" CodeFile="zhukeTest.aspx.cs" Inherits="zhukeTest" %>

    <!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>
        
        </div>
        </form>
    </body>
    </html>
    这个是服务器端的代码,奇怪的是我刚建好窗体的背景色就变了(黄色)。而我去看代码好像也没css的,当我在浏览器中查看就有了上边的CSS文件了,不知为何,是不是哪里可以控制全局的。
    2009年9月17日 10:52
  • 你在web.config page元素下应用全局主题了
    • 已建议为答案 mldark 2009年9月17日 13:11
    • 已标记为答案 KeFang Chen 2009年9月22日 7:15
    2009年9月17日 13:11
  • 谢谢,不过应该是在pages元素下面。
    2009年9月18日 11:43
  • 你好,我想问一下,你说的隐藏域是如何添加上去的,我并没有添加啊,是不是也像主题文件一下在web.config中添加的啊。
    2009年9月18日 11:45
  • 你写在web.config中那是全局应用每个page的主题

    2009年9月18日 12:03