逐步的记录自己学习.net开发的过程
创建解决方案
新建网站
网站添加到iis
打开控制面板-管理工具-iis管理器
修改host,让刚才配置的域名指向本机
现在,在浏览器打开test.stepby.com就可以看到默认页面了。
修改默认页面
默认页面包含了两个部分,一个是模版页,包含了一些默认加载项,一个是页面的主体,注意这个页面主体必须引入这个模板页。
我们在开发的时候可以不用他这种架构方式,可以稍加修改。
默认页面是这样的:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!--MasterPageFile是一个模版页-->
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"><!--必须在这里引用了模版页,把这个标签删掉发现会报错-->
<h1>网站的主体内容放在这里</h1>
</asp:Content>
这样感觉是有点怪,页面的架构不够清晰。
首先在网站的根目录下新建一个文件夹,叫做UserControl,然后在这个文件夹上面添加新项
在这个文件上只要先添加一句话就好了:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Header.ascx.cs" Inherits="UserControl_Header" %><!--这是默认生成的行-->
<h1>这是头部</h1><!--这是新添加的行-->
这样我们就创建了一个用户控件页。可以作为头部,每个页面加载的时候默认先加载他。
然后我们把页面改成这样:
<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!--把页面的模板页定义删除了-->
<%@ Register Src="~/UserControl/Header.ascx" TagName="Header" TagPrefix="hd" %><!--新增了一个用户控件页面的定义-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!--html标签出来了,熟悉的页面布局方式-->
<head runat="server"><!--一个头部控件-->
<title>标题</title>
<style type="text/css">
</style>
</head>
<body>
<form id="form1" runat="server"><!--主体控件,不论是服务器控件还是普通的html标签都在这里写-->
<hd:Header ID="Header1" runat="server" /><!--这个是刚才的那个用户控件,这这里引入-->
<h1>hello world!</h1>
</form>
<script type="text/jscript">
</script>
</body>
</html>
刷新页面,完了我们发现,这个用户控件我们就当是一个普通的body里的一个元素就可以了。
这样默认页面我们就修改完成了。
前端调用后端的变量
<%=后端的变量%>
前端运行后端的代码
<% if (!xx.Config.AdminNick.Equals(Client.UserNick)) { %><!--运行后端代码,做一个判断-->
//一些js代码
<% } %>
此代码的解读为:运行后端代码片段,如果为true,则将下面的js代码写入页面,如果为false,则这些js代码将不会在页面出现了。
创建类库
对解决方案右键-添加新项目,如下图:
这样,类库就创建好了。
之后把新类库当中那个默认的cs文件删掉。
然后开始类库的开发,我们可以在一个名为Com.StepBy命名空间中,创建多个文件夹,然后在文件夹里添加类:
添加代码:
namespace Com.StepBy.Test
{
public class StringUtil
{
public string getDefaultStr()
{
return "is from prj!";
}
}
}
引用类库
调用类库
using Com.StepBy.Test;
private string _getPrjStr;
public string GetPrjStr
{
get
{
if (string.IsNullOrEmpty(_getPrjStr))
{
StringUtil util = new StringUtil();
_getPrjStr = util.getDefaultStr();
}
return _getPrjStr;
}
}