What's the makeup of a typical rendered(compiled?)
给你一个很简单的说明(尝试),帮助你快速理解:
- 有一个带有 aspx 标签的页面,asp.net 正在运行后面的代码并用数据填充这个标签。
- 在后面的代码中填充数据后,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 将其删除并删除其所有引用背后的代码。