1

さて、簡単に私はモデルを持っています:

@model IEnumerable<CompanyWebSite.Category>

そして、そのアイテムを繰り返し処理し、それらを表示するために1 行に 1 アイテムのテーブルを作成するのは非常に簡単です。

そして問題は、次のようなテーブルを作成したいということです:

<table>
    <tr>
        <td></td>
        <td></td>
    </tr>
    //
    // ...
    //
    <tr>
        <td colspan="2"> ... LastItem ...</td>
    </tr>
</table>

簡単そうに見えて、それができない…!

@{
ViewBag.Title = "Products";
var last = Model.Last();
int i = 1;
}

<table id="tblCats">
@foreach(var item in Model)
{                        
    if (i == 1){
        <tr>
        @(i = 2)
    }

        @if (!item.Equals(last))
        {                                            
            <td>
                <a href="#"><h4>@item.CategoryName</h4></a>
                <label>@item.Description</label>
            </td>   
            if (i == 2)
            {
                </tr>
                i = 1;
            }
            else
                i = 2;         
        }
        else
        {
            <td colspan="2">

            </td>
            </tr>
        }                                                                                                  
}

最初の開始の ため<tr>、Razor は混乱し、終了}の s とelseステートメントが表示されません...どうすればよいでしょうか...?!


を使用しているようですSpring for Android。そのエラー メッセージを判断すると、Spring はコンテンツ タイプを に強制しているようapplication/jsonですが、送信しようとしていると思いますapplication/x-www-form-urlencoded。したがって、このContent-Typeヘッダーを設定します。

headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

Spring は適切な と一致することを認識しますMessageConverter。詳細については、こちらをご覧ください。

EDIT:また、リクエストURIではなく、POSTデータでリクエストデータを送信することになっています。それをに移動しMultiValuesMapます。そのようなデータを投稿する方法を提供したリンクをご覧ください。これらに関する完全なドキュメントもここにあります。

EDIT2MessageConverter応答にも設定する必要があります。何かのようなもの:

List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
acceptableMediaTypes.add(MediaType.APPLICATION_JSON);
headers.setAccept(acceptableMediaTypes);

EDIT3ファイルを送信する必要がある場合は、Resourceより具体的に使用することを検討してくださいInputStreamResource。ただし、1 つのトリックがあります。ファイル名とファイル サイズを指定する必要があります。指定しないと、リクエストがクラッシュします。何かのようなもの:

Resource res = new InputStreamResource(context.getContentResolver().openInputStream(itemImage)) {
                @Override
                public String getFilename() throws IllegalStateException {
                    return fileInfo.getFileName();
                }

                @Override
                public long contentLength() throws IOException {
                    return fileInfo.getFileSizeInBytes();
                }
            };
4

1 に答える 1

1

HtmlHelper.Raw メソッドを使用してかみそりを助けることができます

于 2013-08-06T06:39:29.450 に答える