论坛项目中的学习

第一次做项目,学习到的有很多。即总结了一下,具体如下:

一、如何实现不同的内容在不同的页面显示:

  1、使用 Session类可以保存内容,使内容在不同页面使用,例如: Session[“ aaaa”]=Lable.Text;即在不同页面都可访问Lable的值。

  2、 ViewState类也可以,使用方法相似。但 ViewState只可以在同一页面使用。

  3、a)    在URL中写入参数,即在转到一个页面时或超连接时写入参数。

                例如: Response.Redirect("Login.aspx?from=article"); 跳转到Login.aspx页面,并传参数from=article;

                  string from = Request.QueryString["from"];   在Login.aspx页面获取到另一个页面中的from参数。
                    if (from == "index")
                    {
                        Response.Redirect("WebIndex.aspx");
                    }

                参数可以不同,并且可以绑定数据库中的数据

                  <a href="ArticleInfo.aspx?articid=<%#Eval("ArticleId")%>">  超链接,articid是参数,后面是具体的数值。

       b)   还可以传递多个参数    string articleid = Request.QueryString["articleid"];   获取此页中articleid的值
                this.Label1.Text = "要想留言请先登录<a href=Login.aspx?from=articleinfo&id=" + articleid + ">登录</a>";登录</a> 保存此页中articleid的值,并

            将它的值附给id保存。在另一个页面就可访问

二、富文本编辑(特别重要)

     kindedtor使用
 1.将kindeditor文件夹拷贝到网站目录下,只选择我们需要的文件夹即可,可以删除asp,jsp,php三个文件夹,还有一些文件可以删除,但是没不要
  2.添加对LitJSON.dll的引用,此文件默认在asp.net文件夹下bin文件夹下。//如果图片上传不去
  3.新建自己的页面
   4.将asp.net文件夹下的demo页面的内容拷贝过来,注意js文件以及css文件的引用位置是否发生变化
  在web页面顶部的page标签中添加ValidateRequest="false"属性  //出现错误提示
  在webconfig中添加<httpRuntime requestValidationMode="2.0"/>
5.将"label1"的visible属性设置false(目的是让从后来赋给内容不显示),此控件存在的唯一目的就是解决html编码的问题。因为默认我们从kindeditor中获取的内容中的html标签,如"<"等都已经被编码,这导致内容再次发送到前台后无法原样显示。
6.更改asp.net文件夹下的upload_json.ashx文件的内容,自定义上传文件的存储位置。方法是将第1行和第2行
String savePath = "../attached/";
String saveUrl = aspxUrl + "../attached/";
中的attached更改为自己创建的文件夹,如String savePath = "../upload/";
7.在此文件中还可控制上传文件的类型及大小等
8.在web页面中的Page_Load事件中添加如下代码
this.Label1.Text = Request.Form["content1"];
9.编写Button1按钮的单击事件,保存用户输入的内容,如写入文件或插入数据库
其中获取kindeditor内容应使用label1.text的方式获取,这样获取的是带有原样html标签的内容。
10.在kindeditor中设置宽度和高度以及不允许拖动改变大小
在K.options = {
中resizeType : 属性的值设置为0则不能拖动

三、数据绑定控件

   GridView、DataList、Repeater控件,功能以此减小,灵活以此增加。最后翻译出的HTML均是Table控件。

Repeater控件:

 <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                <a href="ArticleInfo.aspx?articleid=<%#Eval("ArticleId")%>"><%#Eval("ArticleTitle")%></a>
                </ItemTemplate>
                </asp:Repeater>

输出的内容不会自动换行,所以要手动添加块级标签,例如:div    ul等

DataList控件:

<asp:DataList ID="DataList1" runat="server">
                   <ItemTemplate></ItemTemplate>
                </asp:DataList>

输出内容可以自动换行。

 四、其它

1、层的隐藏。当将层转换为服务器控件时,会有一个属性Visible,根据它的值(true,flase)来隐藏和展现层。

2、DropDownList绑定控件。

 DataTable dt = new DataTable();

 com.CommandText = "select * from T_ProductStyle ";
                    SqlDataAdapter adapter = new SqlDataAdapter(com);
                    adapter.Fill(dt);

从dt中读取数据绑定到DropDownList。

并没有用add方法。

 this.DropDownList1.DataSource = dt;
                this.DropDownList1.DataValueField = "ProductStyleId";//绑定的字段
                this.DropDownList1.DataTextField = "ProductStyleName";
                this.DropDownList1.DataBind();

如果从数据库中调用即可不用add方法。

每一个数据绑定控件相同代码( this.DropDownList1.DataSource = dt;this.DropDownList1.DataBind();)


   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿猿网页设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值