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。或者其他来源。控件会动态的获得数据。

 

响应FormViewItemCreated事件,用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中的(adaptersimages/langpluginsskinsthemesckeditor.jsconfig.jscontents.css)解压到js目录,在发帖页面引用ckeditor.js,然后设置多行文本框的

Class=”ckeditor”,代码仍然可以通过TextBox控件的Text属性来访问编辑器内容。

 由于页面提交的时候,asp.net会把文本编辑器中的html内容当成是攻击内容,因此需要在aspx中的page标签中设置ValidateRequest=”false”来禁止攻击检测。如果是vs2010,还需要在配置文件中禁止xxs检测。

原文地址:https://www.cnblogs.com/YangFengHui/p/2018598.html