将按钮值从视图传递到控制器ASPNET 5 [英] Passing button value from view to controller aspnet 5
本文介绍了将按钮值从视图传递到控制器ASPNET 5的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在构建一个ASPNET MVC6应用程序,我想在其中将值从View传递到控制器.我的视图有多个具有ID的按钮,我想使用我的viewmodel将被单击的按钮的ID传递给控制器.
I'm building a aspnet mvc6 application where I want to pass values from View to controller. My view has multiple buttons having IDs and I want to pass the ID of the button which is clicked to my controller using my viewmodel.
控制器:
public class HomeController : Controller
{
private SampleDbContext _context;
private HomeViewModel _viewmodel;
public HomeController(SampleDbContext context, HomeViewModel model)
{
_viewmodel = model;
_context = context;
}
public IActionResult Index()
{
_viewmodel.model = _context.MyModel.ToList();
return View(_viewmodel);
}
public IActionResult Test()
{
var x = _viewmodel.buttonID;
return View();
}
}
ViewModel:
public class HomeViewModel
{
public IEnumerable<MyModel> model { get; set; }
public int buttonID { get; set; }
}
查看:
@model MyProject.ViewModels.HomeViewModel
<table>
@foreach (var item in Model.model)
{
<tr>
<td>
<form asp-controller="Home" asp-action="Test">
<button value="Add"/>
</form>
</td>
</tr>
}
</table>
在视图中应该做些什么,以便我可以设置 viewmodel
的' buttonID
'的值,以便它在控制器中可用?
What should be done in the view such that I can set the value of 'buttonID
' of the viewmodel
so that it is available in the controller?
推荐答案
您可以将表单定义为:
<form asp-controller="Home" asp-action="Test">
<button value="Add" name="buttonName"/>
</form>
视图模型:
public class HomeViewModel
{
public IEnumerable<MyModel> model { get; set; }
public string buttonName { get; set; }
}
和控制器:
public ActionResult Test(HomeViewModel model) {
if(model.buttonName == "Add")
....
}
这篇关于将按钮值从视图传递到控制器ASPNET 5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文