为ASP.NET 2.0配置数据源
在ASP.NET 2.0中提供了大量的Provider,以及Master Page、Theme/Skin等新技术,而这些技术都需要有一个数据库的支持。而ASP.NET 2.0默认的是采用SQL Express,在实际开发中我们用的最多的还是Sql Server,因为我们要进行一定的配置。
下面简要叙述在ASP.NET 2.0中使用SQL Server 2K/2K5做支持数据库的步骤:

  1. 在Visuaol Studio 2005的命令行环境中执行命令:aspnet_regsql。该工具可以为ASP.NET 2.0在指定的SQL Server上建立或指定一个支持数据库,默认名字为aspnetdb
  2. 接下来需要修改配置文件,可以在通过修改$:WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config来实现,但修改machine.config文件并不是一个好的方法,好在ASP.NET 2.0提供了在Web.Config文件中修改的办法。
  3. 打开一个Web应用程序的Web.Config文件,添加如下配置节:
    ASP.NET 2.0 中收集的小功能点<connectionStrings>
    ASP.NET 2.0 中收集的小功能点    
    <remove name="LocalSqlServer" />
    ASP.NET 2.0 中收集的小功能点    
    <add name="LocalSqlServer" connectionString="server=(local);trusted_connection=false;user id=sa;pwd=8848;database=aspnetdb" providerName="System.Data.SqlClient" />
    ASP.NET 2.0 中收集的小功能点
    </connectionStrings>

    首先用remove去掉在machine.config中定义的LocalSqlSever连接配置,那个连接是指向本地安装的Sql Express的;然后再重新添加一个LocalSqlServer数据库连接指向想要设定的Sql Server服务器数据库。
  4. 然后在<system.web>节点中去配置一个默认的使用LocalSqlServer数据连接的Provider,如下:
    ASP.NET 2.0 中收集的小功能点<system.web>
    ASP.NET 2.0 中收集的小功能点    
    <membership defaultProvider="SqlMembershipProvider">
    ASP.NET 2.0 中收集的小功能点      
    <providers>
    ASP.NET 2.0 中收集的小功能点        
    <add connectionStringName="LocalSqlServer" name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    ASP.NET 2.0 中收集的小功能点      
    </providers>
    ASP.NET 2.0 中收集的小功能点    
    </membership>
    ASP.NET 2.0 中收集的小功能点
    </system.web>

  5. 这样配置文件就OK了。可以通过在VS中点击Web Site菜单下的ASP.NET配置来进行测试是否已经成功。



VS 2005 现在对Web.config文件也支持智能感知(intellisense)了:

如果你的智能感知没出来,可能是因为名称空间的关系:
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

只要把上面这句改为:
<configuration>

智能感知就可以出来了。


ADO.NET 2.0 中的ConnectionStringBuilder

对于所有开发人员来说,写连接字符串永远不是一件困难的事,但却是一件很头痛的事情。

看ADO.NET 2.0如何解决的
SqlConnectionStringBuilder connbuilder = new SqlConnectionStringBuilder();
connbuilder.DataSource 
= "localhost";
connbuilder.UserID 
= "someuser";
connbuilder.Password 
= "somepassword";
SqlConnection c 
= new SqlConnection (connbuilder.ConnectionString);
c.Open();

它至少解决了下面几个问题
1、不用因为记不住种类繁多的连接字符串而烦恼了.。
2、绝对不会写错连接字符串

1.

    defaultbutton="BtnSubmit"

    defaultfocus="TextBox1"

    runat="server">
则在页面加载时,默认的button按钮时btnsubmit,焦点默认就在texbox1上了

5.asp.net 2.0中的弹出对话框

在asp.net 1.1中,要做1个弹出的对话框的话,一般是在服务端的代码中这样写:

btnClick.Attributes.Add("onclick", "return confirm('Are you sure?');");

现在在ASP.NET 2.0中,只要使用客户端的代码就可以拉,新多了个onclientclick,这样写
<asp:button id="btnClick" runat="server" OnClientClick="return confirm('Are you sure?');" text="Button"></asp:button>
5.自定义的页面控件,
比如在ASP。NET 1。1中,要声明自定义的页面控件,
通常要在用到的每页都要加入register prefix=........这样的,很麻烦,而在asp.net 2.0中,如果你确定一个页面自定义控件要在
整个项目中用到,只需要在WEB.CONFIG中加入
<system.web>
    <pages>

 

    <controls>

      <add tagPrefix="prefixname" namespace="namespacename "/>

    </controls>

   </pages>

</system.web>
其中prefixname为控件的标识,namespace为命名空间就可以了。 

 
在VS2005中,你会发现DataFormatString不起作用了。

        这时候,应该同时设置HtmlEncode为false,DataFormatString才会起作用:

       

ASP.NET 2.0 中收集的小功能点<asp:BoundField HeaderText="DisplayText" DataField="FieldName" DataFormatString="{0:F2}" HtmlEncode="false">
ASP.NET 2.0 中收集的小功能点    
<ItemStyle HorizontalAlign="Right" Width="60px"></ItemStyle>
ASP.NET 2.0 中收集的小功能点    
<HeaderStyle HorizontalAlign="Right"></HeaderStyle>
ASP.NET 2.0 中收集的小功能点
</asp:BoundField>

 

关于asp.net个性化站点的设置
在sql2005种默认将数据库设成sql express的,如果要设置到其它的数据库如sql2000需要如下设置:
在机器上按此路径:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe,找到aspnet_regsql.exe,然后运行,再按照相应的步骤,在项目所属的数据库里建好个性化部点应该有的表(sql server2000),如下图:

ASP.NET 2.0 中收集的小功能点
这一步,其实就是不用项目里的appData\aspnetdb.mdf存储数据,而是转到sql server中去。当然,要在web.config里加个配置节,说明项目是指向那个数据库的。配置节的意思,大家看看就会明白的了。

ASP.NET 2.0 中收集的小功能点<connectionStrings>
ASP.NET 2.0 中收集的小功能点
<clear />
ASP.NET 2.0 中收集的小功能点
<add name="LocalSqlServer" connectionString=
ASP.NET 2.0 中收集的小功能点"server=.;integrated security=sspi;database=aspnetdb"
/>
ASP.NET 2.0 中收集的小功能点
</connectionStrings>

TreeView的无刷新页面展开子节点:
设置Treeview的EnableClientScript和PopulateNodesFromClient的属性设为"True",并在OnTreeNodePopulate事件代码中为该节点添加子节点。

ASP.NET 2.0 中收集的小功能点<asp:TreeView ID="TreeView1" EnableClientScript="true" PopulateNodesFromClient="true" OnTreeNodePopulate="TreeView1_TreeNodePopulated" runat="server" >
ASP.NET 2.0 中收集的小功能点
</asp:TreeView>

 


ASP.NET 2.0 中收集的小功能点    protected void TreeView1_TreeNodePopulated(object sender, TreeNodeEventArgs e)
    }

 

在服务器端代码中设置页面的缺省控件和缺省按钮:
asp.net 2.0的Page类增加了“Form”属性,设置Page.Form.DefaultButton和DefaultFocus为缺省按钮(输入控件)的UniqueID即可。

void Page_Init(object sender, EventArgs e)
{
    
this.Page.Form.DefaultFocus = TextBox1.UniqueID;
    
this.Page.Form.DefaultButton = Button1.UniqueID;
}

1\掩藏字段的处理:DataGrid可以将字段直接设置为Visible=false,可以通过Cell[x].Text取到值。 GridView这个功能失效了,可以使用运行时来设定该列为掩藏。处理RowDataBound事件。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
   e.Row.Cells[5].Visible = false;
}
   2\ 获取所选列的数据:DataGrid可以直接通过所选行来获取,GridView同样的代码无法运行。GridView 可以通过GridViewRow来获取。BtnAudit是模版列中的按钮。
GridViewRow grdRow = (GridViewRow)btnAudit.Parent.Parent;

 string strId = grdRow.Cells[0].Text;
 string memberId = grdRow.Cells[5].Text;
  3\ 最终删除一条数据之前进行确认,这个可以使用摸版列,在摸版列中放置按钮控件,其中有一个客户端事件onclientclick,这里可以写确认处理javascript脚本.例如:
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Button ID="btnRefuse" runat="server" OnClick="btnRefuse_Click" Text="拒绝"  OnClientClick="return confirm(' 你真的要拒绝这个用户加入俱乐部?')"/>
                </ItemTemplate>
            </asp:TemplateField>

ASP.NET 2.0 中收集的小功能点按钮提交后变为灰色
ASP.NET 2.0 中收集的小功能点前台:
ASP.NET 2.0 中收集的小功能点function Button1_onclick(b) {
ASP.NET 2.0 中收集的小功能点b.disabled = true;
ASP.NET 2.0 中收集的小功能点b.value = '正在提交,请稍侯';
ASP.NET 2.0 中收集的小功能点
ASP.NET 2.0 中收集的小功能点}
ASP.NET 2.0 中收集的小功能点后台
ASP.NET 2.0 中收集的小功能点btn.OnClientClick = "javascript:void(0);this.disabled=true;this.value = '正在提交,请稍侯';__doPostBack('" + btn.ClientID.Replace('_', '$') + "','')";
ASP.NET 2.0 中收集的小功能点
ASP.NET 2.0 中收集的小功能点

相关文章:

猜你喜欢
相关资源
相似解决方案