分享:从win10家庭版升级到专业版,以及企业版转变为专业版的坎坷之路

本文介绍关于本人前一周经过尝试并总结出来的从win10系统家庭版本的升级以及企业版转换专业版的小方法。

文章目录

一、前言
二、win10系统家庭版本的升级
三、企业版转换专业版

一、前言

技术更新迭代迅速,我们学习或查找的时候往往没能快速找到自己所需的东西,或就算找到了相关的文献,其中的技术方法也早已被淘汰,所以希望能通过本文减少童鞋们的对win10系统升级转换需求的查找时间。

二、win10系统家庭版本的升级

  • 1、首先,进入激活界面,步骤如下图:
  • 先点击右下角(如下),再点击‘所有设置’

在这里插入图片描述

  • 再点击‘更新和安全’
    在这里插入图片描述
  • 点击‘激活’,出现这样的界面图2
    在这里插入图片描述
    在这里插入图片描述
  • 2、点击“更改产品密钥”,进入输入产品密钥界面,如下,然后输入产品密钥,家庭升级专业版的有如以下(网上也有很多,可以自己去找找):
  • VK7JG-NPHTM-C97JM-9MPGT-3V66T
  • 4N7JM-CV98F-WY9XX-9D8CF-369TT
    在这里插入图片描述
  • 3、输入密钥后,点击“下一步”,会有等待系统验证,通过后进行“下一步”,会提示“升级你的windows版本”,点击“开始升级”就可以了
    在这里插入图片描述
  • 4、需要等待一会,期间可能会有重电脑启,属正常情况,成功后会提示“版本升级成功”,然后重启电脑
    在这里插入图片描述
  • 5、查看电脑配置是否升级成功,如下:
  • 方法一:点击电脑左下方“田”标记,然后右击“此电脑”,点击“更多”,最后点击“属性”,就可以看到是否升级为专业版了
    在这里插入图片描述
    在这里插入图片描述
  • 方法二:进入激活界面也可以看到,步骤如上面升级介绍的第1步(依次单击电脑"右下角标志">“所有设置”>“更新和安全”>点击"激活"),如图:
    在这里插入图片描述
  • 方法三:在左下角搜索框里输入“控制面板”,然后点击“控制面板”,进入所有面板选项,找到并点击“系统”,就可以看到是否升级了。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 6、上述五个步骤一般都能正常升级版本的,可是有些童鞋可能会遇到“无法升级你的版本”,也有一个方法可以尝试一下,就是可能是第三方服务软件的问题,只需在开机前禁止它们就好,步骤如下:
    1)在键盘上先后连按“win“+“R”,在打开处输入“msconfig”,进入系统配置,如下:
    在这里插入图片描述
    2)进入服务后,勾选左下角的隐藏服务,然后点击“全部禁用”,最后点击“确定”,然后重启电脑,重新尝试上面五个步骤即可
    在这里插入图片描述
    最后要记得返回“系统配置”,把第三方服务重新全部启用,不然有些第三方软件可能会启动不了或出错!

三、企业版转换专业版

有些童鞋可能在升级专业版时不小心输入了企业版的产品密钥(如在下。。。),就想从企业版转回专业版,我试过直接更改产品密钥,明显不可行,经过我重重查找各路大神的方法,我总结出一个可行方法,步骤如下:

步骤一
首先卸载之前的其他版本的产品密钥,在左下角搜索框输入cmd,右击并以管理员身份运行,打开后输入slmgr /upk(中间有空格),按回车键运行,会显示产品密钥卸载成功。

在这里插入图片描述
在这里插入图片描述

步骤二:下一步,键盘上按住“win“+“R”,输入“regedit”,(或在右下角搜索框里输入“注册表编辑器”,然后点击进去),进入注册表编辑器,然后选到“计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion”目录,在右边找到EditionIDProductName,并分别改为 “Professional”“Windowns 10 Pro Insider Preview”,如下:(我的系统已经是专业版了,所以显示Professional和Windowns 10 Pro),然后重启电脑

在这里插入图片描述

步骤三 : 进一步操作,下载镜像win10专业版系统(这里说明一下,要更改版本,我试过很多方法,只有镜像专业版系统才可行),自己网上下载,或者去CSDN博客搜索我告诉你系统下载, 赖得搜索的可直接进入 ‘我告诉你’网站,(这是一个window系统免费下载的比较好的下载网站,网上说比较正版,无广告插件,我现在的系统也是上周在这里下载的,的确没有广告或安装后会捆绑其他软件安装,也不会被无端更改主页,没有为谁打广告,单纯是觉得好的东西可以分享给大家!)回归正题,选好系统后,推荐用迅雷下载,速度真的很快,下载好了后放在除C盘外的其他盘,然后压缩后打开,选定 “setup.exe” 双击运行,出现以下安装界面:

在这里插入图片描述

注意了!!!在这里要选择安装方式,安装程序默认是安装并更新之前的版本,可能会清除掉之前的一些文件(我没试过,大神们是这样说的),所以想要保留之前的文件及设置的,就点击更换Windowns安装方式,如下
在这里插入图片描述

选择“不是现在”,进行“下一步”,之后就按提示操作进行镜像安装就好了,期间会有重启电脑,安装镜像系统的正常现象。
在这里插入图片描述

最后安装镜像系统完毕后,按上面步骤查看是否转变为专业版,若还显示是企业版,就重新按步骤二找到EditionIDProductName,并再次改为 “Professional”“Windowns 10 Pro Insider Preview”,然后重启电脑,再次查看就会显示成功转变为专业版了。
在这里插入图片描述

上面就是本次分享的全部内容,本文仅供参考,第一次写博客,如有抄袭侵权的,请告知删除,谢谢!

<think>好的,我现在需要帮助用户解决ASP.NET中两个TextBox控件在调用接口后一个值被清空,另一个没有被清空的问题。首先,用户已经提供了两个TextBox的代码,其中tbYHMM使用了TextMode="Password",而tbYHM是普通文本框。用户观察到在调用接口后,tbYHMM的值会被清空,但tbYHM的值保留。 首先,我需要分析可能的原因。通常,在ASP.NET中,页面回发或刷新时,控件的数据是否保留取决于ViewState的状态。但这里用户提到的是调用接口后界面刷新,可能涉及到异步回发或部分页面更新,比如使用UpdatePanel或者AJAX方法。 接下来,我要考虑几个可能性: 1. **ViewState是否启用**:检查两个TextBox的EnableViewState属性是否都为true。如果tbYHMM的EnableViewState被设置为false,那么回发后其值不会被保留。不过,默认情况下是启用的,所以这可能不是问题所在。 2. **TextMode的影响**:根据之前的回答,使用TextMode="Password"的TextBox在回发时不会保留用户输入的值,这是出于安全考虑。ASP.NET有意不在ViewState中保存密码字段的值,以防止敏感信息泄露。而普通TextBox则会保留其值,因为ViewState会存储它们的内容。因此,这可能是根本原因。 3. **AJAX或UpdatePanel的使用**:如果用户在使用UpdatePanel进行部分页面更新,可能需要检查是否在异步回发后,密码框被重新绑定或重置。有时候,异步回发后控件的状态可能没有正确恢复,尤其是密码字段。 4. **JavaScript或前端脚本的影响**:可能存在某些前端脚本在接口调用完成后,手动清除了tbYHMM的值,而没有影响到tbYHM。需要检查是否有相关的JavaScript代码在页面刷新或接口调用后执行了清除操作。 5. **浏览器自动填充行为**:虽然用户设置了autocomplete="off",但不同浏览器的处理方式不同。可能在某些情况下,浏览器仍然自动填充了tbYHM而清除了tbYHMM的值,尤其是在密码字段中。 接下来,我需要验证这些可能性。首先,确认用户是否在回发或异步调用后,密码字段的值丢失。如果是标准的回发,那么密码字段的值在服务器端应该可以通过Request.Form获取,但不会在控件的Text属性中保留,除非显式重新绑定。而普通TextBox因为ViewState的存在,其Text属性会自动恢复。 解决方案可能包括: - **在页面加载时重新绑定密码字段的值**:但这样做可能不安全,因为密码不应该被重新显示在页面上。 - **使用客户端状态保持**:比如将密码字段的值存储在隐藏字段中,通过JavaScript在回发后重新填充,但同样存在安全隐患。 - **避免使用密码字段的ViewState**:接受密码字段在回发后为空,并在需要时从Request.Form中获取值。 此外,用户可能希望在异步调用后保留密码字段的值,但根据ASP.NET的设计,这是不被推荐的。因此,最佳实践可能是在需要处理密码时,确保在回发期间正确处理数据,而不是依赖ViewState来保留值。 最后,需要建议用户检查他们的代码,确保在接口调用后没有手动清除密码字段,并考虑安全最佳实践,避免在客户端存储敏感信息。</think>在ASP.NET中,当使用`TextMode="Password"`的输入框出现值被意外清空,而普通文本框保留值时,核心原因与ASP.NET的安全机制和页面生命周期有关。以下是详细分析和解决方案: --- ### 根本原因 1. **密码字段安全设计** ASP.NET默认不会通过`ViewState`保存密码字段的值(即`TextMode="Password"`的`TextBox`),这是为了防止敏感信息泄露。而普通文本框会通过`ViewState`自动保留值。 2. **界面刷新机制** 如果通过AJAX或`UpdatePanel`进行局部刷新,密码字段可能因未正确绑定而丢失值,而普通文本框因依赖`ViewState`仍能保留值。 --- ### 解决方案 #### 方法1:手动绑定密码值(安全风险需评估) 在页面加载时,**仅在非回发时**重新绑定密码值: ```csharp protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 从数据库或缓存中读取真实值(需自行实现) tbYHMM.Text = GetPasswordFromSecureSource(); } } ``` **注意**:此方法需自行实现安全存储,否则可能导致密码泄露。 --- #### 方法2:通过`Request.Form`获取实时值(推荐) 直接从前端提交的请求中获取密码值,不依赖`ViewState`: ```csharp protected void YourButton_Click(object sender, EventArgs e) { string password = Request.Form[tbYHMM.UniqueID]; // 直接获取用户输入 // 调用接口逻辑 } ``` --- #### 方法3:禁用密码字段的`ViewState` 显式禁用`ViewState`并手动管理值: ```asp <asp:TextBox ID="tbYHMM" runat="server" TextMode="Password" EnableViewState="false" ... /> ``` 在按钮事件中通过`Request.Form`获取值(同方法2)。 --- #### 方法4:使用客户端脚本保持值(需权衡安全性) 通过JavaScript将密码暂存到隐藏字段: ```javascript // 页面提交前保存密码值 function savePassword() { const passwordField = document.getElementById('<%= tbYHMM.ClientID %>'); const hiddenField = document.getElementById('<%= hfPassword.ClientID %>'); hiddenField.value = passwordField.value; } ``` ```asp <asp:HiddenField ID="hfPassword" runat="server" /> <asp:TextBox ID="tbYHMM" ... onkeyup="savePassword()" /> ``` 在服务端通过隐藏字段获取值: ```csharp string password = hfPassword.Value; ``` --- ### 补充建议 1. **避免局部刷新密码字段** 如果使用`UpdatePanel`,确保不更新包含密码字段的区域: ```asp <asp:UpdatePanel runat="server"> <ContentTemplate> <!-- 不包含 tbYHMM --> <asp:TextBox ID="tbYHM" ... /> </ContentTemplate> </asp:UpdatePanel> ``` 2. **浏览器兼容性检查** 验证`autocomplete="off"`是否生效,某些浏览器(如Chrome 88+)会忽略此属性,可尝试更严格的设置: ```asp <asp:TextBox ... autocomplete="new-password" /> ``` 3. **安全警告** - 永远不要将密码明文存储在页面或Cookie中 - 优先使用HTTPS传输敏感数据 - 服务端需对密码进行哈希加密存储 --- ### 操作验证步骤 1. 在按钮点击事件中添加断点,检查`Request.Form[tbYHMM.UniqueID]`是否有值 2. 对比页面生命周期中`tbYHMM.Text`和`tbYHM.Text`的变化 3. 使用浏览器开发者工具检查网络请求,确认密码值是否正常提交 --- 选择方案时需根据安全等级权衡: ✅ **高安全场景**:使用方法2(直接通过`Request.Form`获取) ✅ **需保留值的内部系统**:使用方法3+方法4组合 ❌ **绝对避免**:在页面中明文显示或存储密码
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值