在视图中我有这段代码:
`@model IPagedList<WebApplication3.Models.TopicAndDetails>
...
@foreach (var item in Model)
{...
@Html.DisplayFor(modelItem => item.Topic)
...
}...
@using (Html.BeginForm("Index", "QuestionAndAnswer", FormMethod.Post))
{
@Html.TextBoxFor(model => model.Topic) // I want to use it but I can't
<button type="submit" class="btn btn-default" value="submit">Submit</button>
}`
如何提交表单以创建新主题,但我仍然使用IPagedList。谢谢你的帮助 。
答案 0 :(得分:1)
嗯,这有点吵,但这是最简单的:
`@model IPagedList<WebApplication3.Models.TopicAndDetails>
@{ string topic = ""; }
...
@foreach (var item in Model)
{...
@Html.DisplayFor(modelItem => item.Topic)
topic = item.Topic;
...
}..
@using (Html.BeginForm("Index", "QuestionAndAnswer", FormMethod.Post))
{
@Html.TextBoxFor(model => topic)
<button type="submit" class="btn btn-default" value="submit">Submit</button>
}`
更新(根据评论)
你没有提交TopicAndDetails
对象。您提交(和需要)的所有内容都是名为model的字符串。
[HttpPost]
public ActionResult Index( string topic)
{
TopicAndDetails newtopic = new TopicAndDetails();
newtopic.Topic = topic;
db.Topics.Add(newtopic);
db.SaveChanges();
return RedirectToAction("Index");
}