2017-06-13 17 views
0

提交表單鑑於在視圖我有這樣的代碼:使用IPagedList

`@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。謝謝你的幫助 。

回答

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> 
}` 

UPDATE(基於評論) Becaue你不提交TopicAndDetails對象。您提交(和需要)的所有內容都是一個名爲model的字符串。

[HttpPost] 
public ActionResult Index(string topic) 
{ 
    TopicAndDetails newtopic = new TopicAndDetails(); 
    newtopic.Topic = topic; 
    db.Topics.Add(newtopic); 
    db.SaveChanges(); 
    return RedirectToAction("Index"); 
} 
+0

我有你的代碼,但模型仍然是IPagedList <.TopicAndDetails>的參數,並且在Controller中提交模型爲空時。在控制器中我有這個代碼 '[HttpPost] public ActionResult Index(TopicAndDetails model) { TopicAndDetails topic = new TopicAndDetails(); topic.Topic = model.Topic; db.Topics.Add(topic); db.SaveChanges(); return RedirectToAction(「Index」); }' –

+0

@VũNgô查看更新 –