こんにちは、私はnhibibernateを使用してMVCでアプリケーションを開発しています。 質問回答フォーラムです。最初のページに質問のリストがリンクとして表示されます。リンクをクリックすると、回答ページに移動して、特定の質問の回答が表示されます。私は、次のフィールドMVC3のアクションの投稿まで変数内の値を保持するには
で2つのテーブルを持っている質問表:
QuestionID int
Question nvarchar(255)
Created_Date datetime
Modified_Date datetime
Created_By int
Modified_By int
Deleted nchar(1)
回答表:
AnswerId int
Answer nvarchar(255)
Created_Date datetime
Modified_Date datetime
Created_By int
Modified_By int
QuestionID int (foreign key)
Deleted nchar(1)
これは私がしようとしたものです: インサイドQuestionPage.cshtml
@using (Html.BeginForm("Question_Page","QuestionAnswer",FormMethod.Post))
{
@Html.ValidationSummary(true)
<ul>
@foreach (var item in Model)
{
<li>@Html.ActionLink(item.Question, "Answer_Page", new { Id = item.QuestionID, Question = item.Question })</li>
}
</ul>
<br />
<h2><label for="PostyourQuestion:">Post your Question:</label></h2>
@Html.TextArea("PostyourQuestion")
<br /><br />
<input type="submit"/>
}
01コントローラ内部の:
public ActionResult Answer_Page(int Id, string Question)
{
var model = new AnswerService().GetAllAnswers();
ViewBag.Question = Question;
model = (from x in model
where x.QuestionID.Equals(Id)
select x).ToList();
return View(model);
}
[HttpPost]
public ActionResult Answer_Page(Answers ans, string PostyourAnswer, int Id,string Question)
{
ViewBag.Question =Question;
ans.Answer = PostyourAnswer;
ans.CreatedDate = DateTime.Now;
ans.ModifiedDate = DateTime.Now;
ans.CreatedBy = 101;
ans.ModifiedBy = 101;
ans.FkQuestionID= Id;
if (ModelState.IsValid)
{
new AnswerService().SaveOrUpdateAnswers(ans);
var model = new AnswerService().GetAllAnswers();
model = (from x in model
where x.QuestionID.Equals(Id)
select x).ToList();
return View(model);
}
return View();
}
しかし、問題は、私は質問の変数内のNULL値を取得するので、私は、ユーザーがフォームを送信する際のポストに質問を表示することはできませんよOnPostです。
こんにちは、4d返信..しかし、私はmvcに新しい行為をすることができます私はどのようにId値に等しい値だけを取得するためにコントローラでクエリを起動することができます – user1274646
ちょっと仲間のthanx 4アイデア。 .i got it..iコントローラ内でクエリを実行し、値をフェッチすることができました。 – user1274646
@ user1274646私はあなたのテーブルを何でも知っていません。メインページのすべての質問を提供するクエリをコピーして、質問ID(QuestionId = id)のwhere条件を追加してください。 – Shyju