Archive for category .Net方面

译Extreme ASP.NET:Encapsulate Silverlight with ASP.NET Controls

第一次翻译msdn中的文章,也不知道翻译完后能不能读懂,试一试吧。

原文的地址:Extreme ASP.NET:Encapsulate Silverlight with ASP.NET Controls作者:Fritz Onion
中文名称:极限ASP.NET:将Silverlight封装成ASP.NET控件

这是微软网站上翻译的:使用 ASP.NET 控件封装 Silverlight

本文中的代码下载地址: ExtremeASPNET2008_01.exe,在线看代码地址:Browse the Code Online

本文分以下部分:
1、使用Silverlight
2、构建一个自定义Silverlight控件
3、ASP.NET AJAX与IScriptControl
4、The asp:Xaml and asp:Media Controls
Read the rest of this entry »

installshield12下载地址

installshield12下载地址:http://saturn.installshield.com/is/12/windows/domestic/pro/installshield12pro.exe

将代码注释生成类似于msdn风格的文件

需要的软件有:
Sandcastle.msi
htmlhelp.exe

两个软件安装完成以后,第一个软件会自动将路径写入path环境变量,而第二个不会,所以需要手动来写,要确保hhc命令可以执行。
接下来就是生成了,进入带有xml注释文件的文件夹,执行build_Sandcastle.bat vs2005 项目全称(即dll的文件名),回车就可以生成了。可以看这篇blog使用 Sandcastle 生成 chm 帮助文档以及使用Sandcastle生成类库说明文档示例
使用Sandcastle Help File Builder的时候注意它要求的Sandcastle版本号。

使用XmlSerializer类进行序列化与反序列化操作

在.net中使用XmlSerializer类进行序列化与反序列化操作是非常方便的,见下面的代码:
Read the rest of this entry »

vs2008团队资源管理器中看不到文档的解决方法

vs2008团队资源管理器中看不到文档,就是文档显示红叉,文档文件夹内的东西看不到。
发生这种情况的解决方法如下: Read the rest of this entry »

通过网页调用非本机的webservice

在web.config的system.web节点中加入

<webServices>
            <protocols>
                <add name="HttpSoap"/>
                <add name="HttpPost"/>
                <add name="HttpGet"/>
                <add name="Documentation"/>
            </protocols>
</webServices>

vs tfs”移除映射”选择没有的解决方法

使用“移除映射”选项可以修改工作区,但我的vs2008的团队资源管理器中却没有这个选项。在msdn中查了一下资料,地址为:http://msdn.microsoft.com/zh-cn/library/ms245466.aspx,得出如下结论:

1、没有打vs2008 sp1补丁

2、没有分配“管理工作区”权限

这两步OK的话,就能显示了,如图: Read the rest of this entry »

浅谈ASP.NET内部机制(转载)

小洋 ASP.NET 内部机制

厚道做人,尊重小洋的劳动成果,只转链接

使用EnterpriseLibrary与odp.net开发翻页程序

在上一篇中介绍了如何使用odp.net代替ado.net,不过demo程序是C/S的,今天写一个B/S的,主要是获取翻页存储过程的数据和行数。

首先,在Web.Config中配置数据库连接字串,具体企业库怎么配置连接字串这里就不介绍了。代码如下:

<add name="OracleSource" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.88)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)));User Id=sys;Password=123;" providerName="Oracle.DataAccess.Client" />

然后,在.cs文件中编写如下代码,代码要注意的地方是存储过程的参数名要与代码中的参数名一致:

        /// <summary>
        /// 获取当前页数据
        /// </summary>
        /// <returns></returns>
        public DataSet GetCurrentDataSet()
        {
            //调用EnterpriseLibrary获取Database对象
            Database db = DatabaseFactory.CreateDatabase("OracleSource");
            //获取OracleCommand
            OracleCommand com = db.GetStoredProcCommand("WP_ALL_PAGINATION") as OracleCommand;
            //表名称
            com.Parameters.Add("TABLENAME_IN", OracleDbType.Varchar2, 50);
            com.Parameters["TABLENAME_IN"].Direction = ParameterDirection.Input;
            com.Parameters["TABLENAME_IN"].Value = tableName;

            //每页显示记录数
            com.Parameters.Add("PAGESIZE_IN", OracleDbType.Int32);
            com.Parameters["PAGESIZE_IN"].Direction = ParameterDirection.Input;
            com.Parameters["PAGESIZE_IN"].Value = PageSize * PageNo;

            //当前页索引值
            com.Parameters.Add("PAGEINDEX_IN", OracleDbType.Int32);
            com.Parameters["PAGEINDEX_IN"].Direction = ParameterDirection.Input;
            com.Parameters["PAGEINDEX_IN"].Value = (PageNo - 1) * PageSize;

            //排序字段
            com.Parameters.Add("ORDERSYNTAX_IN", OracleDbType.Varchar2, 3000);
            com.Parameters["ORDERSYNTAX_IN"].Direction = ParameterDirection.Input;
            com.Parameters["ORDERSYNTAX_IN"].Value = orderBY;

            //Where子句下条件
            com.Parameters.Add("CONDITION_IN", OracleDbType.Varchar2, 3000);
            com.Parameters["CONDITION_IN"].Direction = ParameterDirection.Input;
            com.Parameters["CONDITION_IN"].Value = whereCondition;

            //显示的字段
            com.Parameters.Add("FIELDSNAME_IN", OracleDbType.Varchar2,300);
            com.Parameters["FIELDSNAME_IN"].Direction = ParameterDirection.Input;
            com.Parameters["FIELDSNAME_IN"].Value = showFields;

            //主键
            com.Parameters.Add("ONLYFIELD_IN", OracleDbType.Varchar2, 100);
            com.Parameters["ONLYFIELD_IN"].Direction = ParameterDirection.Input;
            com.Parameters["ONLYFIELD_IN"].Value = guid;

            //返回总记录数
            com.Parameters.Add("COUNT_OUT", OracleDbType.Int32);
            com.Parameters["COUNT_OUT"].Direction = ParameterDirection.InputOutput;
            com.Parameters["COUNT_OUT"].Value = 0;

            //返回记录集
            com.Parameters.Add("cur_out", OracleDbType.RefCursor);
            com.Parameters["cur_out"].Direction = ParameterDirection.Output;
            DataSet ds = db.ExecuteDataSet(com);
            //符合条件的记录总条数
            Count = int.Parse(com.Parameters["COUNT_OUT"].Value.ToString());

            return ds;
        }

Tags:

GridView數據源為null時顯示標題列的方法

當GridView的綁定數據源為空時,GridView是不顯示標題列的,用下面的方法可以顯示。
分如下步驟
1、先讓GridView的數據源有數據,也就是在頁面上能夠顯示標題列;
2、打開頁面源文件,並將GridView生成的標題列<tr></td>復制到一個<div></div>中
3、將這個復制到aspx頁面中的指定位置上
4、編寫控制顯示腳本

代碼如下:

 <div id="div_gridViewHeader">
	<table class="Winstar-table">
		<tr><th scope="col">文件名称</th><th scope="col">本库记录</th><th scope="col">接收类型</th><th scope="col">接收时间</th><th scope="col">调入状态</th><th scope='col'>过滤</th><th scope='col'>处理人</th><th scope='col'>操作</th></tr>
	</table>
</div>
<asp:GridView ID="gvList" runat="server" AutoGenerateColumns="False" CssClass="Winstar-table" OnRowDataBound="gvList_RowDataBound">
	<Columns>
		<asp:BoundField DataField="guid" Visible="False" />
		<asp:TemplateField HeaderText="文件名称">
			<ItemTemplate>
					<%# Eval("DOCTITLE") %>
			</ItemTemplate>
		</asp:TemplateField>
		<asp:TemplateField HeaderText="本库记录">
			<ItemTemplate>
				<asp:Label ID="Label1" runat="server" Text='<%# Bind("DOCID") %>'></asp:Label>
			</ItemTemplate>
		</asp:TemplateField>
		<asp:TemplateField HeaderText="接收类型">
			<ItemTemplate>
				<%# Eval("MODIFYSTATE")%></ItemTemplate>
		</asp:TemplateField>
		<asp:BoundField DataField="MODIFYDATE" HeaderText="接收时间" DataFormatString="{0:yyyy-MM-dd}" />
		<asp:TemplateField HeaderText="调入状态">
			<ItemTemplate>
				<%# Eval("INPUTSTATE")></ItemTemplate>
		</asp:TemplateField>
		<asp:TemplateField HeaderText="过滤">
			<ItemTemplate>
				<%# Eval("HIDESTATE")%></ItemTemplate>
		</asp:TemplateField>
		<asp:BoundField DataField="DEALUSERNAME" HeaderText="处理人" />
		<asp:TemplateField HeaderText="操作">
			<ItemTemplate>
				<asp:LinkButton ID="lbtnImport" runat="server">调入</asp:LinkButton>
				<asp:LinkButton ID="lbtnDelete" runat="server">删除</asp:LinkButton>
			</ItemTemplate>
		</asp:TemplateField>
	</Columns>
</asp:GridView>
<script type="text/javascript">
	var grid = document.getElementById('<%=gvList.ClientID %>');
	if(grid&&grid.getElementsByTagName('td')!=null&&grid.getElementsByTagName('td').length>0)
	{
		document.getElementById('div_gridViewHeader').style.display='none';
	}
</script>

Tags:

pagepeel by webpicasso.de