Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “查看页面源”与呈现的页面有何不同?_C#_Asp.net_Html - Fatal编程技术网

C# “查看页面源”与呈现的页面有何不同?

C# “查看页面源”与呈现的页面有何不同?,c#,asp.net,html,C#,Asp.net,Html,我们的工作是让一家设计公司用html5构建一个静态网站,我将ASP.Net代码绑定在后面,以使其功能正常。 登录屏幕包含一个表单,因此: <input class="ui-input-text ui-body-c" id="txtUsername" placeholder="Username&hellip;" value="" runat="server" /> <input class="ui-input-text ui-body-c" id="txtPassword

我们的工作是让一家设计公司用html5构建一个静态网站,我将ASP.Net代码绑定在后面,以使其功能正常。 登录屏幕包含一个表单,因此:

<input class="ui-input-text ui-body-c" id="txtUsername" placeholder="Username&hellip;" value="" runat="server" />
<input class="ui-input-text ui-body-c" id="txtPassword" placeholder="Password&hellip;" value="" runat="server" type="password" />
<span class="select-decoration submit login">
       <input class="submit-button" id="btnLogin" value="Login" type="submit" runat="server" onserverclick="submitbutton_click" />
</span>
…在验证登录后,我会做出响应。重定向到“主页”屏幕

我遇到的问题是,尽管页面似乎已加载,但如果您“查看页面源代码”,显示的代码仍然是登录页面,地址栏中的url仍然是登录页面;由于登录位于根目录,并且所有内容页都位于“/v2”子目录中,因此图像的路径都无效,因此不会显示任何内容

但奇怪的是,如果您在浏览器中使用“F12”工具,检查的html就是正确的html。IE 10、Firefox和Chrome都是如此

我已经尝试了正确和错误的响应标志。重定向主要是出于绝望,没有进一步的代码执行反正没有乐趣

我在这里和谷歌上找到的所有东西都指向PostBackTriggers,但我没有使用UpdatePanel,所以这里没有乐趣


我确信这与HTML5有关,但这对我来说是一个新领域,所以我很挣扎。

我假设你实际上没有设置cookie或任何东西,如果你在验证后刷新主页,你会被发送回登录页面吗?如果是这样的话,问题在于当你“查看页面源代码”时,浏览器实际上没有给你当前页面的HTML。它实际上是再次从服务器获取所有内容,就像普通请求一样,唯一的区别是浏览器现在向您显示HTML而不是呈现HTML。这也是F12 developer tools DOM inspector可以向您显示当前HTML的原因,因为它确实实时显示了当前HTML。我希望我说的很清楚,而且我的假设是正确的,我没有足够高的声誉来评论

正确,我没有设置cookie,刷新主页确实会重新加载登录页面。我不确定我是否遵循了你关于再次从服务器获取所有html的说法。。。什么会导致这种行为?简单地说,当您正常加载页面时,浏览器会向服务器发送一个get请求,检索HTML,然后呈现它,所以我们人类很乐意看到它。当您在地址栏中添加“查看源代码”的URL时,这是Chrome在您选择“查看页面源代码”时所做的操作,除了浏览器跳过最后一步,只向您显示HTML之外,还会发生同样的情况。因此,当您查看页面源时,浏览器不会认为“让我向他显示当前页面的HTML”,而是认为“让我们再次获取所有HTML,从他从同一个地方获取的HTML”谢谢,这就解释了为什么查看源与实际页面不同。我的问题仍然是。。。为什么Response.Redirect会获取新页面,呈现它,但实际上不会更改url?我将把它标记为答案,因为它将我置于正确的路径上,并解释了为什么“查看源”与当前页面不同。谢谢你的帮助。