我有一个mvc表单(由一个模型),当提交时,我想获取一个参数
我有代码来设置表单并获取参数
我有代码来设置表单并获取参数
using (@Html.BeginForm("myMethod","Home",FormMethod.Get,new { id = @item.JobId })){ }
并在我的家庭控制器里面
[HttpPost] public FileStreamResult myMethod(string id) { sting str = id; }
但是,我总是得到错误
The resource you are looking for (or one of its dependencies) Could
have been removed,had its name changed,or is temporarily
unavailable. Please review the following URL and make sure that it is
spelled correctly.
当我省略[HttpPost]时,代码执行文件,但是变量str和id为null。
请问如何解决?
编辑
这可能是因为控制器中的MyMethod不是ActionResult引起的?我意识到,当我有一种类型为Actionresult的方法,其方法绑定到一个视图,一切都很好。但是FileStreamresult类型不能绑定到View。如何将数据传递给这些方法?
解决方法
如有疑问,请遵循MVC惯例。
如果您还没有包含JobID的属性,请创建一个viewmodel
public class Model { public string JobId {get; set;} public IEnumerable<MyCurrentModel> myCurrentModel { get; set; } //...any other properties you may need }
强烈地输入您的观点
@model Fully.Qualified.Path.To.Model
using (@Html.BeginForm("myMethod",FormMethod.Post)) { //... @Html.HiddenFor(m => m.JobId) }
并接受模型作为您的控制器操作中的参数:
[HttpPost] public FileStreamResult myMethod(Model model) { sting str = model.JobId; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。