### 自学ASP.NET知识点梳理 #### ASP.NET MVC 模式详解 ASP.NET MVC(Model-View-Controller)是一种流行的Web应用程序框架,它基于模型-视图-控制器设计模式。此模式将应用程序分为三个核心组件: - **模型(Model)**:负责管理应用程序的数据逻辑,通常与数据存储交互。 - **视图(View)**:负责展示数据,即用户界面部分。 - **控制器(Controller)**:处理用户的输入,并控制模型和视图之间的交互。 **知识点解析**: 1. **ViewData的使用**:`ViewData`是控制器与视图之间传递数据的一种方式。例如,在代码示例中提到的`ViewData["name"] = value`,这表示将一个名为“name”的键值对添加到`ViewData`字典中,然后可以在视图中通过`ViewData["name"]`访问这个值。 ```csharp ViewData["City"] = new List<SelectListItem>() { /* 初始化列表项 */ }; ``` 2. **HTML Helper 的使用**:HTML Helper 是 ASP.NET MVC 中提供的一组用于生成 HTML 标签的方法,这些方法简化了 HTML 的生成过程,并且可以更好地与服务器端代码进行交互。例如: - `Html.ActionLink` 用于生成带有 URL 的链接。 - `Html.TextBox` 用于生成文本框。 - `Html.DropDownList` 用于生成下拉列表。 ```csharp <%: Html.TextBox("Username", "默认值") %> <%: Html.CheckBox("Foot", true) %> <%: Html.DropDownList("City") %> ``` 3. **表单(form)的处理**:表单是用户向服务器发送数据的主要手段之一。在 ASP.NET MVC 中,可以使用`<form>`标签来定义表单,并指定`method`(提交方式,如 GET 或 POST)、`action`(提交地址)等属性。 ```html <form method="post" action="/UserInfo/Index"> <input type="text" name="name" /> <input type="text" name="age" /> <input type="submit" value="提交" /> </form> ``` 4. **控制器中的方法处理**:控制器是 MVC 架构中的关键部分,负责接收请求并调用相应的模型或视图。例如,在`Index`方法中处理表单提交: ```csharp public ActionResult Index(FormCollection collection) { string userName = Request["name"]; int age = int.Parse(collection["age"] ?? "0"); if (age > 0) return Content(userName + " " + age); else return View(); } ``` 5. **URL Helper 的使用**:URL Helper 提供了一种简单的方法来生成 URL,这对于构建动态 URL 非常有用。例如,`Url.Action` 方法可以根据控制器和动作名称生成 URL。 ```csharp <a href="<%: Url.Action("Index", "UserInfo") %>">点击这里</a> ``` 6. **Raw 和 HtmlString 的使用**:在生成 HTML 时,有时需要避免 HTML 转义。`Html.Raw` 和 `HtmlString` 可以实现这一点,使生成的 HTML 不被转义。 ```csharp <%: Html.Raw("<p><p>") %> <%: new HtmlString("<p><p>") %> ``` 7. **泛型集合与查询**:在处理大量数据时,`IEnumerable` 和 `IQueryable` 是非常有用的接口。`IEnumerable` 主要用于表示可以迭代的对象集合,而 `IQueryable` 则支持 LINQ 查询操作。 通过以上知识点的学习,我们不仅能够理解 ASP.NET MVC 的基本架构和工作原理,还能掌握如何使用其提供的各种功能和技术,从而更高效地开发 Web 应用程序。
2.html:文档基底地址<base href="http://www.w3school.com.cn/i/">,对于在链接标签<a>(src图片也行)中指定的相对路径,浏览器会基于<base>标签连接到具体的地址;
<h1>到<h6>:分层次,不要单独用来变大变小字体,搜索引擎会通过层次来检索概要;
<abbr tittle="信息">显示</abbr>:当鼠标移动到页面显示的字上时,会有方框显示出tittle的内容;
<font >:face属性指定字体类型(如宋体),size属性指定大小,color属性指定颜色;
<a>:target属性,_black:在新窗口打开,_self:在相同框架打开;
页内跳转链接:<a name=标记名称>标记位置,<a href=#标记名称>跳转;
<ol>:有序列表,type属性有1(数字,也是默认),A(大写字母),a(小写字母),I(大写罗马字母),i(小写罗马字母);
<ul>:无序列表,不管有序无序,每一列都用<li></li>;
两种列表可以嵌套使用;
<table>使用表格:<tr>表格行<th>表格标题<td>单元格
表单<form>:
name属性:指定表单名称;
action属性:表单提交后数据发送的地址指向的页面
method:可选值有get和post:get将数据附加到URL发送,字符限制为8192个,post会分段传较长数据,不会显示在URL,保密性更高;
<input type="text(password,submit等类型)" name="元素的名称"/>
用表单post给控制器传递数据:
<form method="post" action="/UserInfo/Index">
名字:<input type="text" name="name"/>
年龄:<input type="text" name="age"/>
<input type="submit" value="提交">
</from>
控制器接收的两种办法:
public ActionResult Index(FormCollection collection)
{
string usename = Request["name"];
int Age = int.Parse(collection["age"]??"0");
if (Age > 0) return Content(usename + " " + Age);
else return View();
}
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助