【发布时间】:2017-06-06 10:34:09
【问题描述】:
这是我的控制器,我想在其中调用方法 AnswerASelect。
namespace VotingWebApp.Controllers
{
public class HomeController : Controller
{
public async Task<IActionResult> Home()
{
return View(await _context.QuestionItem.ToListAsync());
}
public async Task<IActionResult> Answer(int? id)
{
if (id == null)
{
return NotFound();
}
var questionItem = await _context.QuestionItem.SingleOrDefaultAsync(m => m.ID == id);
if (questionItem == null)
{
return NotFound();
}
return View(questionItem);
}
public async Task<IActionResult> AnswerASelect(int? id)
{
var questionItem = await _context.QuestionItem.SingleOrDefaultAsync(m => m.ID == id);
questionItem.AnswerAVote = questionItem.AnswerAVote + 1;
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
这是我的视图,点击按钮时我想以模型作为参数调用 AnswerASelect 方法,类似于... AnswerASelect(model)
@model VotingWebApp.Models.QuestionItem
@{
ViewData["Title"] = "Answer Question";
}
<h2>@Html.DisplayFor(model => model.Question)</h2>
<div class="container">
<button type="button" class="btn btn-info btn-lg" onclick= "CALL AnswerASelect(Model)">@Html.DisplayFor(model => model.AnswerA)</button>
我希望找到一个简单的解决方案,非常感谢您。我是 Web App 开发的新手,我发现这很难学习。我看过一些类似的帖子,但我对它们并没有很好的理解,因此很难将解决方案应用于我当前的问题。
【问题讨论】:
-
您可能只需要围绕 N 个单选按钮制作一个表单,并设置一些 JavaScript 以在其中一个被选中时提交表单。
-
你想通过 onclick (javascript) 将模型传递给你的 Action 还是我认为你可以通过表单传递它?
-
您可以将所有内容放在表单标签中并将该内容发布到操作方法“AnswerASelect”,在这种情况下,我们在该函数中的参数应该是模型类型,以便将发布的值映射到模型对象。
标签: c# asp.net-mvc razor web-applications asp.net-core