2012-03-19 8 views
2

私はアプリケーションをAskQuestionと呼んでいます。最初のページにはリンクとしての質問リストがあり、その下にはテキストエリアとポストボタンがあります質問を投稿する。 私はテキストエリアの中に書いて、ポストボタンを押して質問リストの中に表示されます。 今投稿された質問をデータベースから取得しています。そして、私はリンク.. として、それを表示する必要があるが、Html.Actionlinkがサポートしていません。このは、mvc3のHtml.Actionlink()でデータベースから取得した値を表示する

これは私のモデルクラスである:これは私の見解である

public class Question_Page 
{ 

    public virtual int Id { get; set; } 
    public virtual string Question_name { get; set; } 
    public virtual string Address { get; set; } 
    public virtual DateTime Created_Date { get; set; } 
    public virtual DateTime Modified_Date { get; set; } 
    public virtual int Created_By { get; set; } 
    public virtual int Modified_By { get; set; } 
    public virtual char Deleted { get; set; } 
    public Question_Page() 
    { 
     this.Deleted='F'; 
    } 
} 

@model IEnumerable<Core.Model.Question_Page> 

@{ 
    ViewBag.Title = "Index"; 
} 
<style type="text/css"> 
ul 
{ 
    list-style-type: none; 
} 
</style> 

<h2>All Questions</h2> 
<hr /> 

@using (Html.BeginForm("Index","Question",FormMethod.Post)) 
{ 
@Html.ValidationSummary(true) 
<ul> 
foreach (var item in Model) { 

    <li>@Html.ActionLink(item.Question_name, "answer", new { id=item.Id })</li> 
} 
    </ul> 
<label for="PostyourQuestion:">Post your Question:</label><br /><br /> 
@Html.TextArea("textID")  

<br /> 
<input type="submit"/> 
} 

しかし、これで、「現在のコンテキストにアイテムが存在しません」というエラーが表示されます

これ以前にアンカータグを使用することもできますし、試してみました。

<ul> 
foreach (var item in Model) { 

    <li><a href="answer.cshtml">@Html.DisplayFor(modelItem => item.Question_name)</a></li> 
} 
</ul> 

それはhrefの

で指定されたURLを識別しないでくれ

+0

:次に、あなたはこのようなものを使用することができますか? – Romias

+0

'foreach'の前に' @ 'を忘れていませんか? – tobias86

答えて

1

を助けてください、私はあなたと私のように見えるのサンプルでは、​​foreachの「前に「@」を逃したことが分かりました

@foreach (var item in Model) { 
+0

私は私の質問plzは私は私は私の質問plzはそれを見ては、@はforeachの前に欠けている、ええ – user1274646

+0

で見てを更新しました – Rinat

+0

ええ – user1274646

1

「Html.ActionLink」を持つ最初のものが動作するはずです。モデルに問題がある可能性があります。あなたのモデルがnullを返した場合、このモデルのアイテムはforeachループ内でエラーを引き起こします。最初にModel null状態をチェックする必要があります。 私はHtml.ActionLinkメソッドはあなたのケースで非常に便利だと思います。しかし、あなたの質問を識別するために引数、つまりidを渡す必要があります。質問リンクのリストは、FORMタグ内にあるのはなぜ

    foreachの(モデル内のvarアイテム){

    <li>@Html.ActionLink(item.Question_name, "answer",new{id= item.id})</li> 
    

    }

+0

を指摘非常に愚かな過ちを行動BT NSありがとう4を更新し、それ – user1274646

+0

持っを更新した私の答え – cemsazara

+0

ええ、それは今、おかげで働いている非常に愚かな間違いbt ns行為:) – user1274646

関連する問題