17

このコード(フォームの投稿内にネストされています)がありますが、終了が欠落しているというエラーが継続的に発生します}

@for(int i=0;i< itemsCount; i++){
    <input type="hidden" @string.Format("name= item_name_{0} value= {1}",i,items[i].Description) >
    <input type="hidden" @string.Format("name= item_name_{0} value= {1}",i,items[i].UnitPrice.ToString("c"))>
} 

私はそれを十分長い間見つめてきました...誰か助けてもらえますか?

4

6 に答える 6

18

@:次のようにHTMLコードの前に配置してみてください。

 @for(int i=0;i< itemsCount; i++)
 {
    @: html code here
 } 

代替案:1。htmlコードを次のようにラップします。2。htmlコードの生成に<text></text> 使用します。HtmlHelper

于 2012-06-25T03:21:00.530 に答える
1

最も簡単な方法は、HTML ヘルパーを利用することです。コードもきれいになります (Description と UnitPrice の名前の形式は同じ形式に従っているようです。変更することをお勧めします)。

    @for (int i = 0; i < itemsCount; i++)
    {
        @Html.Hidden(string.Concat("ïtem_name_", i), items[i].Description)
        @Html.Hidden(string.Concat("ïtem_name_", i), items[i].UnitPrice.ToString("c"))           
    }
于 2012-06-25T03:49:35.417 に答える
0

forループの本文をテキストタグで囲むようにしてください。

http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx

于 2012-06-25T09:57:13.100 に答える
0

試す:

@for (int i = 0; i < itemsCount; i++) {
    <input type="hidden" name="@("item_name_" + i)" value="@items[i].Description" />
    <input type="hidden" name="@("item_name_" + i)" value="@(items[i].UnitPrice.ToString("c"))" />
}

プラシャントの別の変更/メモにも注意してください。

于 2012-06-25T03:48:27.197 に答える
0

Html.Rawまたは、ヘルパーを使用できます

@for(int i=0; i < itemsCount; i++)
{
    <input type="hidden" @Html.Raw(string.Format("name= item_name_{0} value= {1}",i,items[i].Description)) />
    <input type="hidden" @Html.Raw(@string.Format("name= item_name_{0} value= {1}",i,items[i].UnitPrice.ToString("c"))) />
} 
于 2012-06-25T03:23:36.847 に答える