2

我是一名 PHP/Rails 开发人员,并且继承了一个 ASP.NET 应用程序(及其维护)。所以我有几个简单的问题。

1.) ASP.NET 中典型的渲染(编译?)HTML 页面的组成是什么。也就是说,当发出请求时,从初始请求到 HTML 显示在浏览器中会发生什么?我假设一些模板被组合并最终呈现,但我想要一个更深入的答案。

2.) 我被要求从一个 aspx 页面的登录表单中删除一个链接。查看 aspx 页面本身,它有一个继承语句、一个到代码隐藏文件的链接,并链接了一些其他资源。我实际上在哪里从登录页面/模板中删除链接?到目前为止,我一直无法找到链接的确切位置,以便我可以将其删除或注释掉。

谢谢!

4

2 回答 2

1

也就是说,当发出请求时,从初始请求到 HTML 显示在浏览器中会发生什么?

我会开始学习ASP.Net Page Life Cycle

到目前为止,我一直无法找到链接的确切位置,以便我可以将其删除或注释掉。

在您至少对 ASP.Net 的工作原理有一定的了解之前,我不会做任何事情。浏览一些教程会很好。ASP.Net有一个很好的入门部分。

于 2012-10-05T17:50:42.480 回答
0
What's the makeup of a typical rendered(compiled?)

给你一个很简单的说明(尝试),帮助你快速理解:

  1. 有一个带有 aspx 标签的页面,asp.net 正在运行后面的代码并用数据填充这个标签。
  2. 在后面的代码中填充数据后,asp.net 正在“运行”整个页面,如果您<% %>在 aspx 页面内,则运行其中存在的附加代码。

这是一个简单的例子:

public partial class Dokimes_StackOverFlow_Diafora : System.Web.UI.Page
{
    public string cRenderMeAlso = "test";

    protected void Page_Load(object sender, EventArgs e)
    {
        txtText.Text = "One Test";        
    }
}

<form id="form1" runat="server">
     This will fill when the page is prepared
     <asp:Literal runat="server" ID="txtText"></asp:Literal>
     <br />
     This will be render as the page reads out to send it to the browser
     as php do
     <%=cRenderMeAlso%>
</form>

现在在 Literal 控件的位置,您可以拥有一个完整的自定义渲染控件,这可能是页面的一个新的复杂部分,其中包含他的元素和渲染。

每个页面、母版页、用户控件都有一个调用循环,以帮助首先从 Init() 传递所有内容并准备它们,然后从 Load() 和另一个阶段传递所有内容,从而能够并行初始化它们 - 一起。

现在,在 PostBack 页面上保留了一些信息ViewState,这些信息与其余的帖子数据一起发布,后面的代码使用所有这些数据来填充控件。它还会触发您在按钮上初始化的任何单击事件背后的代码,您可以在那里运行一些代码来完成您的工作。

 I've been asked to remove a link from a Login form 

如果您找不到该链接可能在 asp.net 提供的标准登录表单上,则解决方案是呈现表单的完整模板,并将其从那里删除 - 但因为存在破坏登录的情况表单,最好不要删除它而只是隐藏它 - 因为如果你删除它并且后面的代码要求它,它会抛出一个错误 - 我的意思是标准的 asp.net 表单登录代码,它是 asp 的一部分。网。

因此,如果是这种情况,请将登录控件呈现为模板(从设计模式,在属性上执行此操作),查看您搜索的链接和 ether 在 code behind 上创建的链接Link.Visible = false,ether 将其删除并删除其所有引用背后的代码。

于 2012-10-05T18:05:41.177 回答