2

私は約10時間を費やし、これを理解しようとして無数の投稿を読みましたが、敗北を認めなければなりません.

部分ビューを返すためにデータをコントローラー (GET) に送信しようとしています。私が試したバリエーションにもかかわらず、コントローラーが受け取るモデルは常に null です。非常にシンプルにするために、モデルを 1 つの要素に減らしました。

私は何が欠けていますか?(前もって感謝します)

モデル:

public class TextContentViewModel
{
    public string ContentType {get; set;}
}

コントローラ:

public ActionResult Preview(TextContentViewModel paneContent)
{
    return PartialView("_Text");
}

Javascript:

<script type="text/javascript">

    $("#previewButton").click(showPreview);

    function showPreview() {
         content = {
            ContentType: $("#ContentTypeID").val(),
        }
                $.ajax({
                url: '@Url.Action("Preview")',
                type: 'GET',
                contentType: 'application/json',
                data: JSON.stringify(content),
                success: function (result) {
                    $('#preview').html(result);
                },
                error: function (result) {
                    alert("something went wrong");
                }
            });
         };

4

1 に答える 1

1

着信変数と発信変数は同じ名前にする必要があります。

js 変数名を次のように変更してみてください

 paneContent = {
        ContentType: $("#ContentTypeID").val(),
    }

GETまた、 a を使用して複雑な変数を送信しようとしないでください。それは決してうまくいきません。を常に使用しPOSTます。

            type: 'POST',
于 2013-04-16T05:49:31.297 に答える