我正在使用ASP.NET中的初学者课程,第一项任务是将HTML网站转换为ASP.NET。现在大多数网站都不是问题,但是有一个“登录页面”,其中有三个按钮,它们在当前状态下只能直接链接到各自登录状态的起始页面。
代码如下所示:
<asp:Content ID="Content2" ContentPlaceHolderID="Main" runat="server">
<div id="content">
<form method="post" action="coordinator/StartCoordinator.aspx">
<p>
<input type="hidden" name="isSubmitted" value="true" />
</p>
<p>
<span class="label">Username:</span><br />
<input type="text" name="user"/>
</p>
<p>
<span class="label">Lösenord:</span><br />
<input type="password" name="password" />
</p>
<p>
<input class="button" type="submit" value="Login of coordinator" />
<br />
<a class="button" href="manager/StartManager.aspx">Login of manager</a><br />
<a class="button" href="investigator/StartInvestigator.aspx">Login of investigator</a>
</p>
</form>
</div>
然后,此代码在MasterPage内的ContentPlaceHolder“Main”中运行。
.aspx文件位于我的项目文件夹的根目录中,链接coordinator / StartCoordinator.aspx,manager / StartManager.aspx和investigator / StartInvestigator.aspx应该是正确的。该页面在未转换的html版本中工作正常,但是当我运行转换后的ASP.NET站点时,发生了两件事:当我点击“协调员登录”按钮时,没有任何反应,当我点击调查员的经理/登录登录时按钮我收到此错误:
>'/'应用程序中的服务器错误。 'href'属性格式不正确 URL:无法使用前导..退出顶级目录。 描述:执行期间发生未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。异常详细信息:System.Web.HttpException:'href'属性有一个 格式错误的网址:无法使用前导..退出顶部 目录..
来源错误:
执行期间生成了未处理的异常 当前的网络请求。有关的来源和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
堆栈追踪:
[HttpException(0x80004005):'href'属性的网址格式错误: 不能使用前导..退出顶级目录。] System.Web.UI.HtmlControls.HtmlControl.PreProcessRelativeReferenceAttribute(HtmlTextWriter的 writer,String attribName)+188
System.Web.UI.HtmlControls.HtmlAnchor.RenderAttributes(HtmlTextWriter的 作家)+93
System.Web.UI.HtmlControls.HtmlControl.RenderBeginTag(HtmlTextWriter的 作家)+41
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter的 作家)+20
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter适配器)+66
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter适配器)+100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection孩子们)+128
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter的 作家)+106
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter的 作家)+32
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter输出)+53 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter适配器)+66
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter适配器)+100
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter的 作家)+40
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection孩子们)+128
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)+13
System.Web.UI.Control.Render(HtmlTextWriter writer)+12
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter适配器)+66
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter适配器)+100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection孩子们)+128
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)+13
System.Web.UI.Page.Render(HtmlTextWriter writer)+29
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter适配器)+66
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter适配器)+100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25
System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) 1303
有谁知道我可能做错了什么?感谢所有帮助
编辑:我认为主页和.aspx页面之间的链接有问题。当我改变:
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>
为:
<%@ Page Title="" Language="C#" MasterPageFile="masterpages/MasterPage.master" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>
它突然正常加载页面,但它无法调用MasterPage.master
所以它只是加载未格式化的.aspx页面