zu behalten Ich entwickle eine Anwendung in MVC mit Nhibibernate. Es ist ein Frage-Antwort-Forum, wo auf der ersten Seite eine Liste von Fragen als Link angezeigt wird. Jetzt, wenn ich auf den Link klicke, bewegt es sich auf die Antworten-Seite, wo die Antworten für die jeweilige Frage angezeigt werden. Ich habe zwei Tabellen mit den folgenden FeldernUm einen Wert in einer Variablen bis nach der Aktion in MVC3
Frage Tabelle:
QuestionID int
Question nvarchar(255)
Created_Date datetime
Modified_Date datetime
Created_By int
Modified_By int
Deleted nchar(1)
Antworten Tabelle:
AnswerId int
Answer nvarchar(255)
Created_Date datetime
Modified_Date datetime
Created_By int
Modified_By int
QuestionID int (foreign key)
Deleted nchar(1)
Dies ist, was ich versucht habe: Innen 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"/>
}
Innerhalb des Controller:
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();
}
Aber das Problem ist OnPost i einen Nullwert in der Frage Variable erhalten und somit in der Lage, ich bin nicht die Frage auf Beitrag anzuzeigen, wenn der Benutzer das Formular abschickt. Bitte helfen me.I weiß, dass ich dumm sumthing bin fehlt ..
Hallo, danke 4 d Antwort..aber ich bin neu zu mvc können Sie mir zeigen, wie eine Abfrage in der Steuerung abzufeuern, um nur den Wert gleich dem Id-Wert – user1274646
hey Kumpy thanx 4 die Idee zu holen. .I hat es..Ich habe eine Abfrage innerhalb des Controllers ausgelöst und bin in der Lage, den Wert zu holen. – user1274646
@ user1274646 Ich weiß nichts über Ihre Tabellen. Versuchen Sie, die Abfrage zu kopieren, die Ihnen alle Fragen auf der Hauptseite gibt, und fügen Sie eine Where-Bedingung für die Frage-ID hinzu (wo QuestionId = id) – Shyju