ASP.NET跨页面的控件调用
ASP.NET3.5可以很简答的实现一个很有用的功能,既跨页面传送,
传统的提交窗体只会将窗体提交给它自己。而跨页面的提交,
会将page1的内容传送个page2,并在page2中使用page1中的控件。
① 跨页面传递的简单实现
页面一(Default.aspx)中的控件
<asp:TextBox ID="txtPageDefault" runat="server"></asp:TextBox>
<asp:Button ID="btnToPostBackPage" runat="server" Text="跨窗体提交"
PostBackUrl="~/PostBackPage.aspx" style="height: 21px" />
页面一的后台代码是不需要的,只要PostBackUrl="~/PostBackPage.aspx"这样注明要提交的目标页面就可以了
页面二(PostBackPage.aspx)前台控件
<asp:TextBox ID="txtPagePostBack" runat="server"></asp:TextBox>
页面二后台代码
TextBox box = (TextBox)PreviousPage.FindControl("txtPageDefault");
txtPagePostBack.Text = "前窗体内容:" + box.Text;
由此可以看到,实际上只要对提交按钮的PostBackUrl属性进行设置,就可以在目标页面很容易的访问到被提交的前一页面的空间内容
② 直接通过属性来访问前页面的控件
编译器会将页面中的控件编译为页面类之外不可访问的类型,所以为了使用PreviousPage类直接访问前页面的内容我们需要用设置属性的方式,将我们需要访问的控件公开
就上一个类子来看,首先我们需要向Default页面的后台田间代码,
表明属性DefaultText 来返回当前页面的TextBox控件
public partial class _Default : System.Web.UI.Page
{
public TextBox DefaultText
{
//定义为只读
get { return txtPageDefault; }
}
protected void Page_Load(object sender, EventArgs e)
相关文档:
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" & ......
几个月前,做用户注册模块要用到发送邮件功能,也碰到了些或大或小的问题,现在总结一下:
我先贴出发送邮件用到的代码:
public void SendEmail(string stremail, string content,string title)
{
MailMessage mm = new MailMessage();
mm.from = new MailAddress(公司邮箱) ......
1.Asp.Net中几种相似的标记符号: <%=...%> <%#... %> <% %> <%@ %> 解释及用法
答: <%#... %>: 是在绑定控件DataBind()方法执行时被执行,用于数据绑定
如: <%# Container.DataItem("tit") %>
&n ......
现在ASP.NET虚拟主机一般都可以绑定多个域名,但是通过这几个域名打开的页面都一样。如何使绑的这几个域名分别打开不通的页面(即实现子网站的功能)呢? 其实很简单,只需4个步骤:
1)给虚拟主机绑定几个域名;例如:www.abc.com,services.abc.com,support.abc.com。
2 ......
ASP.NET允许我们在global.asax文件中编写能够接受全局事件的事件处理器。用户不会直接请求这个global.asax文件,而是在响应一个确定的应用程序事件中自动的执行global.asax文件。global.asax文件提供了跟传统的ASP应用程序中的global.asa文件类似的服务。
在global.asa ......