如何使用隐藏字段值从视图asp.net MVC 3到控制器 [英] How to use hidden field values from view to controller in asp.net mvc 3

查看:233
本文介绍了如何使用隐藏字段值从视图asp.net MVC 3到控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要通过隐藏字段值到控制器的动作。所以,我曾尝试在下面的方式,但我得到空值。

我已经试过这两种方法即的FormCollection和视图模型的概念

控制器

 公众的ActionResult MapIcon()
{
    隐藏HD =新的隐藏();
    返回查看(HD);
}[HttpPost]
公众的ActionResult MapIcon(隐藏隐藏)
{
    VAR值= hidden.hiddevalue; //空
    山坳的FormCollection =新的FormCollection();
    VAR值= COL [hidden1];
  //字符串值= mycontroler.ControlName;    返回查看(隐藏);
}

查看

  @model SVGImageUpload.Models.Hidden
的Razor视图:@using(Html.BeginForm(新{ID =postform}))
{
    <输入类型=隐藏ID =值=7NAME =hidden1/>
    <输入类型=隐藏ID =值=7NAME =hidden2/>    <输入类型=提交值=匹配/>
}

视图模型

 公共类隐藏
{
  公共字符串hiddevalue {搞定;组; }
}


解决方案

在我看来,像你试图让多个值到POST控制器。在这种情况下,并通过考试,从隐藏的输入值是不够的。在这种情况下,你可以设置你的控制器像这样:

 公众的ActionResult指数()
{
    隐藏HD =新的隐藏();
    返回查看(HD);
}[HttpPost]
公众的ActionResult指数(IEnumerable的<串GT; hiddens)
{
    的foreach(在hiddens VAR项)
    {
        //做whatter与项目
    }
    返回查看(新的隐藏());
}

和为您的看法,简单改一下,以绑定到同一个名字hiddens像这样:

  @using(Html.BeginForm(新{ID =postform}))
{
    <输入类型=隐藏值=7NAME =hiddens/>
    <输入类型=隐藏值=2NAME =hiddens/>    <输入类型=提交值=匹配/>
}

希望这提供你正期待着什么。

I have to pass hidden filed values to controller action. So I have tried in the following way, but I am getting null values.

I have tried both methods i.e formcollection and viewmodel concept

Controller

public ActionResult MapIcon()
{
    Hidden hd = new Hidden();
    return View(hd);
}

[HttpPost]
public ActionResult MapIcon(Hidden hidden)
{
    var value=hidden.hiddevalue;//null
    FormCollection col = new FormCollection();
    var value = col["hidden1"];
  //  string value = mycontroler.ControlName;

    return View(hidden);
}

View

@model SVGImageUpload.Models.Hidden
Razor view:@using (Html.BeginForm(new { id = "postform" }))
{
    <input type="hidden" id="" value="7" name="hidden1" />
    <input type="hidden" id="" value="7"  name="hidden2"/>

    <input type="submit" value="Match"/>
}

Viewmodel

public class Hidden
{
  public string hiddevalue { get; set; }
}

解决方案

It seems to me like you are trying to get multiple values into the POST controller. In that case, and by your exam, the value from the hidden input is enough. In that case, you can setup your controller as so:

public ActionResult Index()
{
    Hidden hd = new Hidden();
    return View(hd);
}

[HttpPost]
public ActionResult Index(IEnumerable<string> hiddens)
{
    foreach (var item in hiddens)
    {
        //do whatter with item
    }
    return View(new Hidden());
}

and as for your view, simple change it in order to bind to the same name "hiddens" as so:

@using (Html.BeginForm(new { id = "postform" }))
{
    <input type="hidden" value="7" name="hiddens" />
    <input type="hidden" value="2" name="hiddens" />

    <input type="submit" value="Match" />
}

Hope this serves what you are looking forward to.

这篇关于如何使用隐藏字段值从视图asp.net MVC 3到控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆