• 关于卢老师思修项目的问题集锦


    1.本项目用vs2005+sql2005,我本机只有sql2000,附加肯定失败!

    解决办法:用vs安装sql2005EXPRESS版。开启数据库服务,修改的连接字符串。

    sql2005的连接字符串:<add name="LocalSqlServer" connectionString="Data Source=.;Database=DWCourse;User ID=sa;Password=" providerName="System.Data.SqlClient" />
    sql2005EXPR的连接字符串:  <add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DWCourse.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
       providerName="System.Data.SqlClient" />

    (用gridview自动绑定,然后在web.config中查找方法)

    2.自定义登陆控件不能横向置顶。

    解决办法:卢老师在LoginView中使用的是HTML标记下的TABLE,不能很好的给 <AnonymousTemplate>模板布局。选用.net下的TABLE,利用<asp:TableRow>和<asp:TableCell>能有效的解决这个问题。

    3.交流中心开发的问题:

    3.1 gridview中找索引问题。

    (描述:无法找到控件当前所在行,若用绑定主键的办法,行号和ID并不是一致的)

    解决办法:只能用GridView中RowDataBound来找到控件(而且只能是Button),利用Button的CommandArgument属性来索引所在行。具体代码:

    Button btn = (Button)e.Row.Cells[0].FindControl("btn_Reply");
    btn.CommandArgument = e.Row.RowIndex.ToString();

    即使这样仍然有问题,同样无法找到控件,必须加:

     if (e.Row.RowType == DataControlRowType.DataRow)
            {

            }

    再在RowCommand中通过button的CommandName和CommandArgument来找,具体代码:
            if (e.CommandName == "Reply")
            {
                int index = Convert.ToInt32(e.CommandArgument);
                TextBox box = (TextBox)GVMsg.Rows[index].FindControl("txt_Reply");
                box.Visible = true;

            }

    如果还要得到主键Id,可通过在GridView中用Lable绑定主键Id, 继续通过索引来找对应行的控件,具体代码如下:

     Label lab =(Label)GVMsg.Rows[index].Controls[0].FindControl("MsgId");

    int MsgId = Convert.ToInt32(lab.Text);

    以上代码在VV2008+sql2005下调试完成,所有控件在   <ItemTemplate></ItemTemplate>中。GVMsg为GridView的Id值。

    4.ODS对象为空的问题

    VS2005转到2008下,ODS绑定对象为空,即使以前绑定的,也会报程序集出错的问题。

    但是,在web.config下也找不到出错的程序集,苦恼了几天。

    后来想到个办法,将bin文件夹删除重建,重新编译,问题解决!太爽了。

    5.ODS对象再次为空的问题

    VS2005转到2008下,如果选择了转为.net 3.5,也会出现ODS绑定对象为空,即使以前绑定的,也会报程序集出错的问题。从程序集入手没这技术。
    这次问题更蹊跷,我在硬盘打开工程,程序集出错,但是同样的工程在u盘却没有错误,重现删除硬盘的工程,从U盘拷贝过去还是同样的问题。这就很奇怪了。
    几次拷贝无效之后,怀疑是自己在初次打开的时候转为了3.5.而自己没注意。但是拷贝过去的也没有弹出提示框。
    于是换到别的位置,不转3.5,成功!
    猜想:vs记录了你打开的工程的路径,然后它会沿用上次你的设置,所以,我在u盘上打开工程就没问题,拷到那个相同目录就出问题。

  • 相关阅读:
    逻辑结算的结果是什么类型?比较运算的值是什么类型?
    算术运算有哪些?逻辑运算有哪些?比较运算有哪些?
    为什么要强制类型转换?什么情况下使用强制类型转换?说说强制类型转换的优点和缺点
    Java中如何强制类型转换
    基本数据类型和引用类型的区别
    Go switch语句
    Go 循环
    Go if_else语句
    Go 包
    Go 函数
  • 原文地址:https://www.cnblogs.com/kulong995/p/1656578.html
Copyright © 2020-2023  润新知