Insus.NET在MasterPage放置了一个DropDownList和一个Button控件,然后在Default.aspx放置一个TextBox。从上面的动画中可以看到,在TextBox输入文字,它会动态添加至MasterPage的DropDownList控件中。
实现过程,首先写一个接口:
IGetable using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
///
/// Summary description for IGetable
///
namespace Insus.NET
{
public interface IGetable
{
string TextBoxValue
{
get;
}
}
}
接下来,新建MasterPage:
InsusMasterPage.master:
InsusMasterPage.master <%@ Master Language="C#" AutoEventWireup="true" CodeFile="InsusMasterPage.master.cs" Inherits="InsusMasterPage" %>
InsusMasterPage.master.cs代码,重点部分已经有注释,难度应该不大:
InsusMasterPage.master.cs using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Insus.NET;
public partial class InsusMasterPage : System.Web.UI.MasterPage
{
//Insus.NET:宣告一个泛型,将存储输入的数据
List
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Data_Binding();
}
}
private void Data_Binding()
{
this.DropDownList1.DataSource = list;
this.DropDownList1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
//Insus.NET:把page转为接口,并取属性
string v = ((IGetable)this.Page).TextBoxValue;
//Insus.NET:判断Session是否为空
if (Session["db"] != null)
{
//Insus.NET:如果不为空,直接从Session取出
list = (List
}
else
{
//Insus.NET:如果为空,new一个实例
list = new List
}
//Insus.NET:把输入值加入泛型
list.Add(v);
//Insus.NET:存入Session
Session["db"] = list;
Data_Binding();
}
}
最后,是Aspx的代码:
Default.aspx:
View Code <%@ Page Title="" Language="C#" MasterPageFile="~/InsusMasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
Default.aspx.cs:
View Code using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Insus.NET;
public partial class _Default : System.Web.UI.Page,IGetable
{
protected void Page_Load(object sender, EventArgs e)
{
}
//Insus.NET:实现接口
public string TextBoxValue
{
get {
return this.TextBox1.Text;
}
}
}
好了,非常简单的例子。



