Mvc4_传值取值应用

Mvc路由运行机制:

  首先,Web 浏览器向服务器发送一条URL 请求,如http://HostName/ControllerName/ActionName/Parameters

其次,请求被ASP. NET MVC 的路由映射系统获取, 并按照映射规则, 解析出 ControllerName,ActionName 和Parameters;

再次,到Controllers 目录下找到ControllerNameController.cs 类, 并在这个类中找到与 ActionName 同名的方法,将Parameters 作为参数传给这个方法;

最后,Action 方法开始执行,完成后将返回相应视图

四种传值取值方式:

1.Request

  1.  Request.Form:获取以POST方式提交的数据(接收Form提交来的数据)

    View视图下:post方式提交数据

    <% Html.BeginForm("LogOnMothed ", " User ", FormMethod.Post); %>

    或

    <form id="login" action="/User/LogOnMothed" method="post">

    控制器下:

    Request.form[“”].tostring();

2.  Request.QueryString:获取地址栏参数(以及以GET方式提交的数据)

   .aspx页面代码  

   $(document).ready(function () {

   getJOSNResourceBaseList();

   }

      .js文件代码

<script type=”text/javascript”>

  Function getJsonResourceBaseList()

    {

    Var param={param1:””,param2:””,param3:””};

    Param.param1=”123”;

    Param.param2=”456”;

    Param.param3=”789”;

$.getJSON("/ResourceBase/getJOSNResourceBaseList", param, function (data) {

     //具体方法操作

    }

</script>

   .controller文件中调用

然后再ResourceBaseController.cs下的getJOSNResourceBaseList方法下QueryString获取参数:

  Request.QueryString[“param1”];

  Request.QueryString[“param2”];

  Request.QueryString[“param3”];

2.Dictionary

  在控制器赋值:

  Dictionary<string, object> userModel = new Dictionary<string, object>();

    userModel.Add("UserID", “123”);

userModel.Add("UserName", “456”);

 ViewData["UserData"] = userModel;

  在视图页面取值:

<% Dictionary<string, object> UserModel = ViewData["UserData"] as Dictionary<string, object>; %>

<%=Html.TextBox("txtUserName", UserModel["UserName"].ToString())%>

接下来讲两种强类型数据的传递方法, ViewDta  和 Dynamic

  说明:﹡ResourceBaseEditModelService.GetEditModelByID 返回类型为ResourceBaseEditModel

    ﹡ResourceBaseEditModel 是一个数据实体类型如:

      public class ResourceBaseEditModel

{

public Guid Id{ get; set; }

}

3.     ViewData  把强类型的ViewData对象从控制器传递给视图,这里只讲强类型对象的传递

     在控制器中赋值:

     ViewData["editModel"] = ResourceBaseEditModelService.GetEditModelByID(TempDeviceID.Value);

在视图页面取值:

      <% ResourceBaseEditModel localModel = ViewData["Local"] as  ResourceBaseEditModel; %>

        <%=Html.TextBox("txtDeviceID",  localModel.Id%>

4.  Dynamic

   在控制器赋值:

   ResourceBaseEditModelmodel =ResourceBaseEditModelService.GetEditModelByID(TempDeviceID.Value);

dynamic viewModel = new ExpandoObject();

viewModel.UserID = model.Id;

viewModel.UserName = model.name;

return View(viewModel);

在视图页面取值:

<%@ Page Language="C#"  Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<%=Html.TextBox("txtUserName", (string)Model.name)%>

<%=Html.TextBox("txtUserId", (string)Model.Id)%>

时间: 2024-10-18 10:49:21

Mvc4_传值取值应用的相关文章

【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。

一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key=value&key=value"            用&可以实现传递多个值. 通过这种方式就把要传递的值传到要跳转的页面去了. 2.跨页面取值: 在跳转到的页面的C#代码服务端进行取值 用:  string value = Request["key"]; 二.

js跨域传值取值

工具:require.js 跨域传值--   1.form表单     var action = 提交的url;     //创建表单跨域提交数据     var form = document.createElement("form");     var iframe = document.createElement("iframe");     iframe.id = "id_iframe";     iframe.name = "

微信小程序传值取值的几种方法

一,列表index下的取值 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.dataset.index来填坑即可 1.1生成值 <image src="../../../images/icon_delete.png" /><text>删除</text> //在删除图标与文字添加data-index="{{index}}"自定义属性以及绑定点击事件bindtap=&q

WebForm复合控件、跨页面传值取值、C#服务端跳转页面

1.RadioButtonList     单选集合 -属性:RepeatDirection:Vertical (垂直排布)/Horizontal (横向排布) RepeatLayout:Table (表格排布方式)/Flow (span排布方式) RepeatColumns:         设置为多少列. 每一个单选按钮都是一个ListItem对象,他有  Enable(是否可用).  selected(默认选中)  Text(显示的文本) Value(隐藏的值)属性 赋值:两种数据绑定方法

ASP.NET GridView HyperLinkField传值和取值【转】

来源:http://www.cnblogs.com/junjie94wan/archive/2011/08/17/2143623.html 经常做Winform程序,好久没有做WEB都有些生疏了,GridView传值取值都不知道怎么用了,特此在网上寻找了一些比较可靠的资料. 记录下来以备以后使用 前端代码,在GridView里面加编辑列里面加 HyperLinkField,然后设置 HyperLinkField的 DataNavigateUrlFields.DataNavigateUrlForm

.aspx.cs传值与取值

1:.aspx中post传值 $.post("ABP_ExchangeRatelz.aspx", { option: "isdelete", Ori_Currency: Ori_Currency, Year_Month: Year_Month, Region: Region, time: new Date().getMilliseconds() }, .aspx.cs中post取值 string Year_Month = Request.Form["Yea

Thymeleaf前后端传值 页面取值与js取值

参考: Thymeleaf前后端传值 页面取值与js取值 Thymeleaf 与 Javascript Thymeleaf教程 (十二) 标签内,js中使用表达式 目的: 后端通过Model传值到前端 页面通过Model取值显示 js通过Model取值作为变量使用 1.后台Controller @GetMapping("/message") public String getMessage(Model model){ model.addAttribute("message&q

mui跨页面的传值和取值

最近在做一个基于mui框架的移动app.遇到跨页面传值的问题.在此做以记录 mui.openWindow({ url:'parkDetail.html', id: 'parkDetail', styles:{ top:'newpage-top-position',//新页面顶部位置 bottom:'newage-bottom-position',//新页面底部位置 width:'newpage-width',//新页面宽度,默认为100% height:'newpage-height',//新页

jQuery$.each循环遍历详解,各种取值对比,$.each遍历数组、对象、Dom元素、二维数组、双层循坏、类json数据等等

jQuery 遍历函数包括了用于筛选.查找和串联元素的方法. 函数 描述 .add() 将元素添加到匹配元素的集合中. .andSelf() 把堆栈中之前的元素集添加到当前集合中. .children() 获得匹配元素集合中每个元素的所有子元素. .closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素. .contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点. .each() 对 jQuery 对象进行迭代,为每个匹配元素执行函数. .end(