FormView控件使用
1. FormView控件的使用
这三个控件的数据源都是用对象数据源进行操作的。所有也要先了解ObjectDataSource控件的用法哦。
ObjectDataSource
ObjectDataSource用来将一个类作为数据源,TypeName属性为数据源类的全名,有DeleteMethod、InsertMethod、SelectMethod、UpdateMethod等几个属性,分别为类中删除、插入、查询、更新数据的方法名,这些方法可能有参数,参数的值是通过DeleteParameters、UpdataParameters、InsertParameters等嵌套节点设置的。
手工编写ObjectDataSource太麻烦,使用可视化界面来完成。将ObjectDataSource拖放到界面上,在右上角的智能标识上选择“配置数据源”即可完成配置。数据源类一般有数据集就可以,新建一个数据集,将表拖进来生成DataTable、Adapter等,生成完成后,在ObjectDataSource的“配置数据源”中就可以看到Adapter类,选中类,选【下一步】,分别选择对应的获得、删除、更新、插入数据的方法。
BulletedList用来陈列数据。在浏览器中渲染成<ul><li></li>< /ul>
手工绑定:BulletedList2.DataSource = new string[] {"我选择","我喜欢","My Choose","My Love!" };
BulletedList2.DataBind();//手工绑定数据。
如果需要给已经设置了数据源的控件中添加初始值,要设置属性:AppendDataBoundItems="True" 意思是说用附加的形式填充数据,而不是冲掉原有数据。
FormView用来进行单条数据的编辑,查看,新增,有编辑,查看,新增三个模版。
我们可以通过程序来切换FormView的显示模式:是编辑(Edit),插入(Insert),还是只读(readonly)模式
ObjectDataSource1.SelectParameters.Clear();
ObjectDataSource1.SelectParameters.Add("Id",TypeCode.Int64,id);//程序动态为数据源添加参数
ObjectDataSource1.Select();//触发数据源的select方法
FormView1.ChangeMode(FormViewMode.ReadOnly);//改变FormView的模式
也可以在ObjectDataSource数据源控件自动的去获取参数.设置数据源的参数来源为QueryString。或者其他来源。控件会动态的获得数据。
响应FormView的ItemCreated事件,用FormView.CurrentMode判断当前渲染的模版,因为FormView同时只能渲染一个模版,所以不需要像ListView那样e.Item, e.ItemType.然后用FormView.FindControl()找控件。
protected void FormView1_ItemCreated(object sender, EventArgs e)
{
if (FormView1.CurrentMode == FormViewMode.Insert)
{ //直接用FormView1.FindControl()找控件。ê
TextBox tbTime =(TextBox) FormView1.FindControl("CreateTimeTextBox");
tbTime.Text = DateTime.Now.ToShortDateString();
}
}
CKEditor集成
CKEditor原名FckEditor,著名的HTML编辑器,可以在线编辑HTML内容。
配置参考文档,主要是将ckeditor中的(adapters、images/lang、plugins、skins、themes、ckeditor.js、config.js、contents.css)解压到js目录,在发帖页面引用ckeditor.js,然后设置多行文本框的
Class=”ckeditor”,代码仍然可以通过TextBox控件的Text属性来访问编辑器内容。
由于页面提交的时候,asp.net会把文本编辑器中的html内容当成是攻击内容,因此需要在aspx中的page标签中设置ValidateRequest=”false”来禁止攻击检测。如果是vs2010,还需要在配置文件中禁止xxs检测。