如何发送Int32到控制器,MVC
问题描述:
我正在制作视图,我使用2个部分视图。每个分部视图都是在数据库中创建新行的表单。如何发送Int32到控制器,MVC
所以我在1视图中得到了2种形式。但通过[HttpPost]
知道它全部进入相同的动作控制器,但是我怎样才能在控制器中以我使用的形式知道?
是否有可能只发送一个int到控制器,然后if(int == 1){//do form 1 action}
,然后与表单2相同?
我刚刚使用了一个模板自动创建窗体,但我不知道如何发送一个自定义的int值到控制器,当我按窗体上的提交按钮。
谢谢。
答
您可以在制作模型时将模型传递给模板。 例如:编辑模板地址 @ Html.EditorFor(M => m.Address) 可以在模型中添加的int字段2
[HttpPost]
public ActionResult Index(int form) { }
// and as for your view, simple change it in order to bind to same name "form" as so:
@using (Html.BeginForm())
{ <input type="hidden" value="1" name="form" />
//Call your template but if Html.BeginForm lies inside the template you will have to
//pass the value somewhere so that it can be send in HTTP Post body
}
形式1和形式之间进行区分如果 或者 甲复杂的做法是一样的 使用javascript获取div的id和修改它的提交功能,并通过int字段1或2
但后来我必须添加一个新的公共int形式{获取;集;}'。有没有简单的方法呢?我没有让你第二次。 –
[HttpPost] 公共的ActionResult指数(INT形式) { } 并作为视图,以结合到相同的名称 “形式” 的,简单的改变它作为这样: @using(Html.BeginForm() ) { } –
感谢您的帮助我只是使用第二个awnserd,它的工作非常感谢。 –