MVC中的传参并在View中获取

首先action跳转的模式有如下:

  • redirecttoaction("index");//一个参数时在本controller下,不传入参数。
  • redirecttoaction(actionname,controllername) //可以直接跳到别的controller.
  • redirecttoroute(new {controller="home",action="index"});//可跳到其他controller
  • redirecttoroute(new {controller="home",action="index", id=param});//可跳到其他controller,带参数。
  • response.redirect("index?id=1");//适用于本controller下的方法名称,可带参数。
  • return redirect("index");//适用于本controller下的方法名称。
  • return view("index"); //直接显示对应的页面 不经过执行controller的方法。
  • return view("~/views/home/index.aspx");//这种方法是写全路径,直接显示页面,不经过controller方法
  • return view();//直接显示页面,不经过controller方法

在View中跳转直接写全路径记录/home/index?msg=11

举例:RedirectToAction("Index","Home",new {msg="操作成功",name="admin"});

然后如果是在action方法中接收参数直接Index(string msg,string name)即可获取到传过来的参数,如果不想这么接收也可以使用如下方式

  • 如果你是通过原始的index?msg=11&name=simmer则可以使用Request.QueryString["msg"] ,则在View中则是@Request.QueryString["msg"]
  • 如果你采用了路由机制的传参index/11/simmer则可以使用Html.ViewContext.RouteData.Values["msg"]或Request.RequestContext.RouteData.Values["msg"]
时间: 2024-08-13 13:14:40

MVC中的传参并在View中获取的相关文章

jsp中 url传参到后台的参数获取

datagrid传值url方法1:<input type="hidden" id="sortid"> <table id="dg" class="easyui-datagrid" title="标题" data-options="iconCls: 'icon-save',singleSelect: false,sortOrder:'desc',toolbar: '#tb',idF

SQL存储过程中,传参获取指定条数的记录

假设传入参数 为 @TopCount 直接写 Select top @topcount * from table 是不行的. 可以考虑使用SET ROWCOUNT 示例如下 ALTER PROCEDURE [dbo].[P_CSM_SelectHandleResult] @TopCount int=50 AS BEGIN SET NOCOUNT ON; set rowcount @TopCount SELECT * from HandleResult order by HandleIndex d

thymeleaf+bootstrap,onclick传参实现模态框中遇到的错误

thymeleaf+bootstrap,onclick传参实现模态框中遇到的错误 thymeleaf下设置onclick属性 原文地址:https://www.cnblogs.com/hfultrastrong/p/8708787.html

Mybatis 中在传参时,${} 和#{} 的区别

介绍 MyBatis中使用parameterType向SQL语句传参,parameterType后的类型可以是基本类型int,String,HashMap和java自定义类型. 在SQL中引用这些参数的时候,可以使用两种方式#{parameterName}或者${parameterName}. #{} #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号. 例如:order by #{parameterName} //或取Map中的value#{Key}也是一样操作. 假设传入参数是“

mybatis中#{}和${}传参的区别

使用#传入参数是,sql语句解析是会加上'',比如 select * from table where name = #{name} , 传入的name为小李,那么最后打印出来的就是 select * from table where name = '小李', 就是会当成字符串来解析,这样相比于$的好处是比较明显对的吧, #{}传参能防止sql注入,如果在mapper文件中中,你用 select * from table where name = ${name} 那么解析出来的sql就是 sel

WebForm中 页面传参的总结

1.Form表单传递(get/post)     前台: 1 姓名:<input id="TxtValue" name="TxtName" type="text" /><br /> 2 年龄:<input id="AgeValue" name="AgeValue" type="text" /><br /> 3 性别:<input ty

vue.js 1中父组件跳到子组件中并传参让子组件显示不同的内容

父组件中的点击跳转: <ul class="insurance-entry clearfloat"> <li v-link="{name:'productlist',params:{id:1}}">1</li> <li v-link="{name:'productlist',params:{id:2}}">2</li> <li v-link="{name:'product

Mybatis中#{}和${}传参的区别及#和$的区别小结

最近在用mybatis,之前用过ibatis,总体来说差不多,不过还是遇到了不少问题,再次记录下, 比如说用#{},和 ${}传参的区别, 使用#传入参数是,sql语句解析是会加上"",比如 select * from table where name = #{name} ,传入的name为小李,那么最后打印出来的就是 select * from table where name = '小李',就是会当成字符串来解析,这样相比于$的好处是比较明显对的吧,#{}传参能防止sql注入,如果

Web API中的传参方式

在Restful风格的WebApi的里面,API服务的增删改查,分别对应着Http Method的Get / Post / Delete /Put,下面简单总结了Get / Post /Delete /Put的传参方式 一.Get传参 get设计成传输小数据,而且最好是不修改服务器的数据,所以浏览器一般都在地址栏里面可以看到,数据放在url的QueryString中. (一)简单类型 $(function () { $.ajax({ type: 'get', url:'http://localh