在上一篇博客中总结了一下从Controller像View中传值的几种方法。事实上看那些方法和在我们最初学习VB的时候一样,将数据库中的数据显示到前台的页面。数据库还是那个数据库,仅仅是如今前台变成了浏览器。传值的形式发生了变化。从View像Controller中传值有非常多种方法,仅仅简单的说明一下自己使用过的。

使用Form

使用Form提交的方法有非常多种,先结合上次博客中使用Model从Controller向View中传值

一般形式的form

在View中

@*自定义的详细要使用的viewModel*@
@modelTalentServiceCenterFileManage.ViewModel.FileWagesViewModel //将表单使用post的方法提交。调用的是action中缩写的路径方法。这和之前学过的没有区别
<form method="post"action="/FileWages/AddFileWagesInfo">
<tablewidth="84%" border="0" cellpadding="0"cellspacing="0">
<tr>
<td>@Html.TextBoxFor(a => a.kindOfSalaryOld)</td>
//这里的a就是上面自定义的model的类型,这样在textBox中显示的就是对于的kindOfSalaryOld这个属性的值,而这个值是从Controller中传来的
<td>@Html.TextBoxFor(a => a.kindOfSalary)</td>
</tr>
<input type="submit"value="保存" /> //注意这里的控件,当单击时触发post提交方式
</table>

当中form的action中写的是要接受数据的Controller和要使用的当中的方法。当单机submitbutton时,整个表单以post的方式提交。

在Controller中

[HttpPost]//假设有post请求就运行这里的代码

//当中的參数就是从View中传回来的,它的属性值就是用户在文本框中填写的内容
public ActionResultAddFileWagesInfo(FileWagesViewModel addFileWagesEntity)
{
//写详细的用法,就能够直接和后台交互
}

使用BeginForm

在view中

<span style="font-size:14px;"> <div id="import"  padding-top: 10px">
@using (Html.BeginForm("Import", FormMethod.Post, new { id = "fmImport", enctype = "multipart/form-data" }))
{ <input type="text" id="txtModify">
}
</div></span>

当中的“Import”是要调用的方法,“FileWages”是要调用的Controller的名字,FormMethod.Post是form提交的方式。new{}里定义的是HTML的特性设置,能够F12定位有对应的方法解释。

假设要触发表单的提交,能够再js中控制,调用Import方法。

       function Import() {                                                                                                      window.location.href = '@Url.Action("AddFileWagesInfo", "FileWages")?<span style="font-size: 14px; font-family: Arial, Helvetica, sans-serif;">txtModify</span>='+document.getElementById('#txtModify').value;                              }

以上将在text中输入的内容以URL的方式传到Controller中。

使用Ajax

在View中

<span style="font-size:14px;">function UpdateNews()
{
var date = $('#test').datagrid("getChecked");//结合EasyUI,目的是获得选中项
var strKey = [];
$.each(date, function (index, item) {
strKey.push(item.basicInformationNumber//将选中项的basicInformationNumber属性的值加入到定义的数组中
})
console.log(strKey.join(","));//切割数组中的内容
//将他们作为值提交
var Showurl = '/FileWages/ShowInfo?showId='+ strKey;
//使用ajax进行提交
$.ajax({
type: "POST",
dataType: 'json',
url: Showurl,//传递URL的地址
success: function (msg) {
if (msg.success) {
alert("删除成功");
}
else {
alert('删除失败。请联系管理员。',msg.errorMsg);
}
}
});
}
}</span>

在Controller中

<span style="font-size:14px;">public ActionResult DelFileWagesInfo()
{
stringstrSrchKey = Request.QueryString["DelID"].ToString();//这是我们之前非常熟悉的方法
}</span>

小结

事实上自己总结的内容网上都能查到。可是那都是别人的东西,不能由于别人写了自己就不写了。那知识永远都不会是你自己的。今天开师徒会说道这样一种情况:遇到一个问题。自己记得非常清楚原来解决过,然后就開始找自己原来的笔记、博客,非常无奈的是发现自己没有做记录,然后由開始从网上找资料,这样效率比較低,并且由于没有总结所以自己脑子里是没有深刻印象的。当又一次遇到的时候仅仅能在查。

所以总结一定要时时的做。不要小瞧当初解决那个问题的办法有多简单。让它变成自己的!

MVC 从View像Controller中传值的更多相关文章

  1. 【ASP.NET MVC】View与Controller之间传递数据

    1   概述 本篇文章主要从操作上简要分析Controller<=>View之间相互传值,关于页面之间传值,如果感兴趣,可参考我另外一篇文章ASP.NET 页面之间传值的几种方式 . Co ...

  2. ASP.NET MVC 学习4、Controller中添加SearchIndex页面,实现简单的查询功能

    参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-method ...

  3. MVC中view和controller相互传值的方法

    MVC项目中,在view层如果使用前台框架,框架中会有封装好的相互传值方法.但是,那些postdata[][]方法不一定能够满足功能需求,反而一些常用的传值方法可能会刚好解决它们的不足.总结如下: 一 ...

  4. ASP.NET MVC 前端(View)向后端(Controller)中传值

    在MVC中,要把前端View中的值传递给后端Controller, 主要有两种方法 1. 利用Request.Form 或者 Request.QueryString public ActionResu ...

  5. ASP.NET MVC 学习8、Controller中的Detail和Delete方法

    参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-details-and ...

  6. Asp.Net MVC part2 View、Controller详解

    View详解Razor视图引擎简介HtmlHelper强类型页面 Razor视图引擎简介强大的@:表示使用C#代码,相当于aspx中的<%%>可以完成输出功能当遇到html标签时会认为C# ...

  7. 【MVC架构】——怎样利用Json在View和Controller之间传递数据

    在MVC架构中,尽管非常多东西和三层非常相似,可是也有非常大的差别.就比方传递数据.在三层架构中,传递数据就仅仅要一层返回,另外一层用同样类型的变量来接收即可了.在MVC中,事实上原理是一样的,Con ...

  8. MVC架构在Asp.net中的应用和实现

    转载自:http://www.cnblogs.com/baiye7223725/archive/2007/06/07/775390.aspx 摘要:本文主要论述了MVC架构的原理.优缺点以及MVC所能 ...

  9. 【MVC框架】——View和Controller之间的传值

    在MVC中,Controller运行一个能够说是路由功能.它通过View传过来的数据,来决定应该调用哪一个Model,相同会把Model处理完的数据传给View,所以就总是涉及到Controller和 ...

随机推荐

  1. Linux--对文件夹下的配置文件批量改动IP

    sed -i 's/10.1.1.1/10.1.1.2/g' `grep -ir 10.1.1.1 * |grep -E '.xml:|.cfg:|.ini:|.wsdl:|.properties:' ...

  2. hdu 3074 求区间乘积

    线段树水题 #include<stdio.h> #include<string.h> #include<iostream> using namespace std; ...

  3. hadoop 计数器

    一.hadoop有非常多自带的计数器,相信看过执行log的都会看到各种数据 二.用户自己定义计数器 在开发中常常须要记录错误的数据条数,就能够用计数器来解决. 1.定义:用一个枚举来定义一组计数器,枚 ...

  4. EOJ 3000 ROT13加密和解密

    应用 ROT13 到一段文字上仅仅只需要检查字母顺序并取代它在 13 位之后的对应字母,有需要超过时则重新绕回 26 英文字母开头即可.A 换成 N.B 换成 O.依此类推到 M 换成 Z,然后串行反 ...

  5. C# 遍历文件夹及子目录下所有图片.

    要求:取指定目录下面的所有图片,以表格的型式展示并显示该图片的相对路径. 服务端代码: public partial class ViewIcon : System.Web.UI.Page { JAr ...

  6. webstorm配置Monokai-Sublime.jar主题

    https://github.com/OtaK/jetbrains-monokai-sublime 导入下载的Monokai-Sublime.jar jar包即可使用.

  7. PHPMailer使用说明

    PHPMailer是一个用来发送电子邮件的函数包,远比PHP提供的mail()方便易用. 邮件格式说明 一封普通的电子邮件,通常是由发件人.收件人.抄送人.邮件标题.邮件内容.附件等内容构成.以下是一 ...

  8. MS SQL 获取数据字典的经典sql语句

    select [表名]=c.Name, [表说明]=isnull(f.[value],''), [列名]=a.Name, [列序号]=a.Column_id, [标识]=case when is_id ...

  9. firstChild与firstElementChild

    相同点: 都是获取父元素下的第一个节点对象 不同点: firstChild: IE6.7.8 第一个元素节点; 非IE6.7.8:返回第一个元素节点或文本节点 firstElementChild: I ...

  10. (转载)解决切换Fragment时布局重新实例化

    解决切换Fragment时布局重新实例化 作者 instanceof 关注 2015.12.30 17:25* 字数 628 阅读 7616评论 17喜欢 23 关于Fragment 在这简单说一下F ...