`

ASP.NET MVC MESS

 
阅读更多

 

ASP.NET MVC Html.Action()

http://www.2cto.com/kf/201207/143417.html

ASP.NET MVC Html.TextBox 与 Html.TextBoxFor 区别

For支持强类型(model的类型),内部使用泛型实现

http://topic.csdn.net/u/20100223/23/47046e86-884d-4a68-ab81-c2943e6fdf98.html

http://stackoverflow.com/questions/5119373/difference-between-html-textbox-and-html-textboxfor

 

http://www.cnblogs.com/zhangziqiu/tag/ASP.NET%20MVC/

http://www.cnblogs.com/zhangziqiu/archive/2009/03/11/Aspnet-MVC-3.html

只有PartialViewResult 和 ViewResult 才会去寻找View对象.其他的ActionResult要么是返回文件, 要么是跳转等等

寻找Controller和Action是通过路由  寻找页面是通过视图引擎

 

http://www.cnblogs.com/zhangziqiu/archive/2009/03/18/Aspnet-MVC-4.html

在Action中向View传递Model的几种方式.以及View获取Model以后如何编写显示逻辑.还详细的介绍了ASP.NET MVC框架提供的Html Helper类的使用及如何为Html Helper类添加自定义扩展方法

虽然ViewData和TempData都可以传递弱类型数据,ViewData的生命周期和View相同, 只对当前View有效,TempData保存在Session中, Controller每次执行请求的时候会从Session中获取TempData并删除Session, 获取完TempData数据后虽然保存在内部的字典对象中,但是TempData集合的每个条目访问一次后就从字典表中删除. 也就是说TempData的数据至多只能经过一次Controller传递.

传递强类型对象

public ActionResult StrongTypedDemo()

{

  StrongTypedDemoDTO model = new StrongTypedDemoDTO() { UserName="ziqiu.zhang", UserPassword="123456" };

  return View(model);

}

遍历ViewData集合

Action

 public ActionResult ShowModelWithInsideCodeDemo()

 {

   ViewData["k1"] = @"<script type=""text/javascript"">";

   ViewData["k2"] = @"alert(""Hello ASP.NET MVC !"");";

   ViewData["k3"] = @"</script>";

   return View("ShowModelWithInsideCode");

 }

View

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>使用内嵌代码输出ViewData</title>

    <% foreach(KeyValuePair<string, object> item in ViewData )

       {%>

            <% = item.Value %>

    <% } %>    

</head>

<body>

    <div>   

        <div>此页面运行的脚本代码为:</div>

        <fieldset>       

        <% foreach(KeyValuePair<string, object> item in ViewData )

           {%>

               <% = Html.Encode(item.Value) %> <br />

        <%  } %>

        </fieldset> 

    </div>

</body>

</html>

页面上遍历了两遍ViewData,第一次是作为脚本输出的, 第二次由于进行了HTML编码,所以将作为文字显示在页面上.

在ViewPage中提供了Html属性, 这就是一个HtmlHelper类的实例.如何使用HtmlHelper类:

 <div>

   <% using (Html.BeginForm())

     { %>

    <label style="width:60px;display:inline-block;">用户名:</label>

   <% =Html.TextBox("UserName", "ziqiu.zhang", new { style="width:200px;" })%>

     <br /><br /> 

    <label style="width:60px;display:inline-block;">密码:</label>

   <% =Html.Password("Psssword", "123456", new { style = "width:200px;" })%>        <% }%>

 </div>

----------------------------------------------------------------------------------------------------------------------------------

 

下拉框 

 

//所属下拉框

 IEnumerable<TenantType> tenantTypes = tenantTypeService.Gets("site");

 //添加一个自定义项

 List<TenantType> tenantTypesList = tenantTypes.ToList<TenantType>();

 tenantTypesList.Insert(0, new TenantType { ApplicationId = 0, Name = "不限", TenantTypeId = "" });

 

 SelectList tenants = new SelectList(tenantTypesList.Select(n => new { text = n.Name, value = n.TenantTypeId }), "value", "text", TagTenantType);

 ViewData["tenants"]=tenants;

下拉对象的第一个参数需要是有俩个以上属性的的对象构成的集合,第三个参数是指定取第一个参数的哪个属性做下拉值,第四个参数是指定取第一个参数的哪个属性做下拉文本,最后一个参数指定选中哪个项

 

 只添加一项

SelectList groupList= new SelectList(new List<SelectListItem>() { new SelectListItem() { Text = "无分组", Value = "" } },"value","text");

 

在原有项的基础上添加一项默认项

@Html.DropDownList("TenantTypeId", tenants,"不限", new { @class = "tn-dropdownlist tn-input-medium" })

 

DropDownList的第一个参数名,不能 与ViewData的键名相同 否则将不能选中指定的项

 

 

在cshtml中,可以这样获取路由里的某些值 如areaName

     RouteValueDictionary routeValueDictionary = Html.ViewContext.RouteData.DataTokens;

     string areaName = routeValueDictionary.Get<string>("area", string.Empty);

在controller里

RouteValueDictionary routeValueDictionary = Request.RequestContext.RouteData.DataTokens;

 string areaName = routeValueDictionary.Get<string>("area",null);

 

 

给Partial页传Model及其他值 

@Html.Partial("_List", Model, ViewData)

 

Url.Action()生成请求的action的url

'@Html.Raw(Url.Action("_PhotoList", new { spaceKey = Url.SpaceKey(), albumId = albumId }))'

 

 

ASP.NET MVC里如果局部页面不是异步加载的,那它就真的是跟这个大页面"一起的",它当然也是这个大页面的一部分,比如

@Html.Action("_AnswerContent", "ChannelAsk")虽然没有给Action传值,但如果此时大页面如果有查询字符串answerId=1,那么这个局部页面对应的Action 

Public ActionResult _AnswerContent(long answerId){}也会接收到这个参数

而,如果一个局部页面是通过js异步加载到这个页面的,那么它不是真的是跟这个大页面"一起的",虽然它显示出来是这个大页面的一部分,比如

上面相同情况,这个通过异步加载过来的页面对应的Action 

Public ActionResult _AnswerContent(long answerId){}则不会接收到这个参数

 

分享到:
评论

相关推荐

    tedsmol_mess_asp.net_

    【标题】"tedsmol_mess_asp.net_" 暗示了这是一个关于 ASP.NET 开发中的小型(smol)问题或混乱状况的讨论。在ASP.NET框架中,开发者经常面临各种挑战,如代码组织、性能优化或者错误调试。这个标题可能是对一个具体...

    ASP.NET中实现图片滚动

    ### ASP.NET中实现图片滚动知识点解析 #### 一、知识点概览 在ASP.NET中实现图片滚动效果,主要涉及到了HTML、CSS以及JavaScript等技术。本文档将详细解析如何利用这些技术来创建一个动态的图片滚动展示效果。该...

    mess_mess_通讯_PLC_

    标题 "mess_mess_通讯_PLC_" 暗示了我们关注的是关于通过编程语言C#与三菱(Mitsubishi)PLC(可编程逻辑控制器)进行通信的技术。描述指出这是一个C#源代码示例,提供了与PLC交互的功能,供用户下载学习。 在IT...

    .NET 窗体之间的交互

    根据提供的标题、描述以及部分代码内容,我们可以深入探讨.NET框架中窗体间的交互方式与实现细节。本篇文章将重点解析如何在.NET环境中实现窗体之间的数据传递与交互控制。 ### 窗体间的通信机制 在.NET环境中,...

    .net 各种实用方法

    - &lt;member name="M:Pic_Chart_Load.Excel_Function.Get_Excel_Mess_No_Head(System.String,System.String)"&gt; 获取Excel 数据&lt;/summary&gt; &lt;param name="iExcelAddress" /&gt; &lt;param name="strSQL1" /&gt; ...

    how to make sense of any mess

    How to Make Sense of Any Mess: Information Architecture for Everybody Abby Covert Everything is getting more complex. It is easy to be overwhelmed by the amount of information we encounter each ...

    liuyuanban

    1. `liuyan.aspx`: 这通常是一个ASP.NET网页,很可能用于展示和处理用户的留言。`.aspx`是ASP.NET的视图层文件,用于定义页面的HTML结构和交互逻辑。 2. `Login.aspx`: 这应该是登录页面,用户在这里输入用户名和...

    Python库 | mess_client_makeev-0.0.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:mess_client_makeev-0.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | py_mess_server_kuznetsov-3.3.5-py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:py_mess_server_kuznetsov-3.3.5-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    ASP+jMAil 调指定邮箱

    ASP(Active Server Pages)是一种微软开发的服务器端脚本环境,用于创建动态交互式网页。在本场景中,我们结合JMail组件来实现一个简单的功能:通过用户在HTML表单填写的信息,将其发送到指定的电子邮件地址。JMail...

    Hibryd_mt4_mess_

    标题中的“Hibryd_mt4_mess_”可能指的是一个专门为MetaTrader 4(MT4)交易平台设计的混合(Hybrid)指标,名为“HIBRYD MESS Indicator”。这个指标可能是为了帮助交易者在金融市场中进行分析和决策,结合了多种...

    总结十条.NET异常处理建议

    .NET中从始至终要紧记异常处理的策略:抛出具体的一个异常,而不是只抛出Exception类型的异常,这样能方便我们捕获对应类型的异常。我们在编写代码时要注意考虑到应用程序最差的情况;显示有好的信息,并提供适当的...

    用户信息管理系统___增删改+验证码.rar

    JavaWeb实现用户管理系统(增删改查、登陆注册、分页显示、模糊查询,过滤器,验证码)。---非常适合新手学习,内涵数据库。 项目介绍及演示请访问:https://blog.csdn.net/W_TF2017/article/details/97383009

    technical-mess-diagrams:使用github托管我使用diagrams.net绘制的图表的实验

    这是在github上为我的网站托管图的实验。

    mess-hall-elevator.rar_c程序食堂_mess

    《C程序食堂——mess-hall-elevator.rar》是一款旨在帮助学习者理解类的继承与派生的编程实例,特别适合初学者深入理解面向对象编程的概念。在这个程序中,作者通过模拟食堂电梯系统来演示如何利用C++的面向对象特性...

    webgame asp javascript在线游戏源代码

    4. **ShowMess.asp**:可能用于显示特定的消息或通知,比如游戏更新、活动信息等。 5. **Talk_List.asp**:可能是一个聊天列表,展示当前在线玩家的聊天记录或对话。 6. **Online.asp**:可能追踪并显示在线玩家的...

Global site tag (gtag.js) - Google Analytics