首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

页面源码去掉隐藏域代码解决方案

2012-09-11 
页面源码去掉隐藏域代码input id__VIEWSTATE name__VIEWSTATE value/wEPDwULLTIwNDk2Mzg0NzkPZBY

页面源码去掉隐藏域代码
<input id="__VIEWSTATE" name="__VIEWSTATE" value="/wEPDwULLTIwNDk2Mzg0NzkPZBYCAgQPZBYUZg8PFgIeBFRleHQFDmFkZmFkZmFzZGZhc2RmZGQCAQ8PFgIfAAUG5LiA5pyfZGQCAg8PFgIfAAUfRjAxQzIwLuS6jOe6v+S4k+S4muaKgOacr+aUr+aMgWRkAgMPDxYCHwAFBTIwLjAwZGQCBA8PFgIfAAUDUk1CZGQCBQ8PFgIfAAUb6aKE566X5aSW56uL6aG56LS555So5a6h5om5ZGQCBg8PFgIfAAURMjAxMuW5tDA55pyIMDTml6VkZAIHDw8WAh8ABREyMDEy5bm0MDnmnIgwNOaXpWRkAggPZBYCAgEPZBYCAgEPZBYCZg8PFgIeCklzUmVhZE9ubHlnZBYEZg9kFgxmDxYCHgV2YWx1ZQUMT0FfUEVBU19TWlpCZAIFDxYCHwIFBUZhbHNlZAIHDxYCHwIFATBkAggPFgIfAgUEVHJ1ZWQCCg8WAh8CBQVGYWxzZWQCCw8WAh8CBQVGYWxzZWQCFA8WAh4Fc3R5bGUFDWRpc3BsYXk6bm9uZTsWAgIBDxYCHgZib3JkZXIFATAWAmYPZBYEZg8WAh4HVmlzaWJsZWhkAgEPZBYEAgEPZBYCAgIPFgIfAwUNZGlzcGxheTpub25lO2QCKw9kFgJmD2QWBAIBDxYCHgdvbmNsaWNrBRNyZWZyZXNoU3BsaXRUYWJsZSgpZAIHD2QWAmYPZBYQAgEPZBYCAgEPDxYCHwAFBzIwMTHlubRkZAIDD2QWAgIBDw8WAh8ABQcyMDEy5bm0ZGQCBQ9kFgICAQ8PFgIfAAUHMjAxM+W5tGRkAgcPZBYCAgEPDxYCHwAFBzIwMTTlubRkZAIJD2QWAgIBDw8WAh8ABQcyMDE15bm0ZGQCCw9kFhRmD2QWigFmDxAPZBYCHghvbmNoYW5nZQVOb25DaGFuZ2VCdWRnZXRPYmplY3RWYWx1ZSgnY3RsMDVfY3RsMDhfbHN0Q29tcGFueScsICdzcGxpdF9pdGVtX2N0bDA1X2N0bDA4Jyk7ZBYBZmQCAg8QDxYGHg5EYXRhVmFsdWVGaWVsZAUCSUQeDURhdGFUZXh0RmllbGQFBE5hbWUeC18hRGF0YUJvdW5kZxYCHwcFUW9uQ2hhbmdlQnVkZ2V0T2JqZWN0VmFsdWUoJ2N0bDA1X2N0bDA4X2xzdERlcGFydG1lbnQnLCAnc3BsaXRfaXRlbV9jdGwwNV9jdGwwOCcpOxAVFgASQTAu6ZuG5Zui566h55CG5bGCG0FBLuiRo+S6i+S8muWKnuWFrOWupOWFqOS9kxhBQi7lrqHorqHnm5Hlr5 type="hidden">
</div>

怎么把这段隐藏域代码去掉,正则吗? 求高手!

[解决办法]
Try

C# code
Regex.Replace(yourHtml, @"(?i)<input[^>]*?type=(['""]?)hidden\1[^>]*?>", string.Empty);
[解决办法]
这是因为使用了服务器控件造成的。不能去掉。
但是论坛里面也有人议论过。可以去掉。但是去掉后。好像服务器控件就无效了。
[解决办法]
去掉做什么用?这个似乎不影响吧
[解决办法]
这是ViewState,你只要将控件或整个页的EnableViewState属性设为false就不会生成了,当然禁用ViewState后,对于需要回发的控件可能会导致无法正常运行,所以你需要了解什么时候才可以禁用。

=========================================================================
AspNetPager免费分页控件7.4版发布:http://www.webdiyer.com/controls/aspnetpager
[解决办法]
现在流行做搬站的工具软件吗?都是做SEO的?或者论坛?
[解决办法]
C# code
using System;using System.IO;using System.Linq;using System.Runtime.Serialization.Formatters.Binary;using System.Threading;using System.Web.UI;public class VPage : Page{    static private DirectoryInfo _Dir;    private static DirectoryInfo Dir    {        get        {            if (_Dir == null)            {                _Dir = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data"));                if (!_Dir.Exists)                    _Dir.Create();                _Dir = new DirectoryInfo(Path.Combine(_Dir.FullName, "ViewState"));                if (!_Dir.Exists)                    _Dir.Create();            }            return _Dir;        }    }    protected override object LoadPageStateFromPersistenceMedium()    {        PageStatePersister ps = this.PageStatePersister;        ps.Load();        if (ps.ControlState != null)            ps.ControlState = 反序列化对象((string)ps.ControlState);        if (ps.ViewState != null)            ps.ViewState = 反序列化对象((string)ps.ViewState);        return new Pair(ps.ControlState, ps.ViewState);    }    protected override void SavePageStateToPersistenceMedium(object state)    {        PageStatePersister ps = this.PageStatePersister;        if (state is Pair)        {            ps.ControlState = ((Pair)state).First;            ps.ViewState = ((Pair)state).Second;        }        else            ps.ViewState = state;        if (ps.ControlState != null)            ps.ControlState = 序列化对象(ps.ControlState);        if (ps.ViewState != null)            ps.ViewState = 序列化对象(ps.ViewState);        ps.Save();    }    private object 反序列化对象(string stateID)    {        if (stateID == null)            return null;        object state = Cache[stateID];        if (state == null)            using (var stream = File.OpenRead(Path.Combine(Dir.FullName, stateID)))                state = new BinaryFormatter().Deserialize(stream);        else            Cache.Remove(stateID);        return state;    }    private string 序列化对象(object obj)    {        string stateID = Guid.NewGuid().ToString("N");        Cache.Insert(stateID, obj, null, DateTime.Now.AddMinutes(5), System.Web.Caching.Cache.NoSlidingExpiration);        using (var stream = File.Create(Path.Combine(Dir.FullName, stateID)))            new BinaryFormatter().Serialize(stream, obj);        return stateID;    }    static VPage()    {        ThreadPool.QueueUserWorkItem(h =>        {            var et = DateTime.Now.AddMinutes(-30);            Dir.GetFiles()                .Where(f => f.LastAccessTime < et)                .ToList()                .ForEach(f =>                {                    try                    {                        f.Delete();                    }                    catch { }                });        });    }} 

热点排行