zoukankan      html  css  js  c++  java
  • 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)%>

  • 相关阅读:
    第一次做的破网页
    c++初学指针
    eskibana
    有关JSON以及JSON在PHP中的应用
    比较全的log4j 配置
    验证码类
    PHP 兼容 Curl/Socket/Stream 的 HTTP 操作类
    PHP缓存技术
    Fatal error: Call to undefined function curl_init()解决方案
    socket基础
  • 原文地址:https://www.cnblogs.com/ingstyle/p/4324476.html
Copyright © 2011-2022 走看看