0

こんにちは友達私はこの方法でFacebookの壁に写真を投稿しようとしています

ここに私の制御コード:

公開クラス テスト {

        public FacebookMediaObject mediaObject { get; set; }
    }

public ActionResult Profile(FacebookOAuthResult facebookoAuthResult)
{
    DisplayAppropriatemessage(facebookoAuthResult);

    // redirect back to the index action to show the form once again
    return RedirectToAction("Profile");
}

private void DisplayAppropriatemessage(FacebookOAuthResult facebookoAuthResult)
{
    if (facebookoAuthResult != null)
    {
        if (facebookoAuthResult.IsSuccess)
        {
            var mediaObject = new FacebookMediaObject
            {
                ContentType = "image/jpeg",
                FileName = Path.GetFileName(path)
            }
            .SetValue(System.IO.File.ReadAllBytes(path));

            var fb = new FacebookClient(facebookoAuthResult.AccessToken);

            fb.PostAsync("https://graph.facebook.com/me/photos", new Dictionary<string, object> { { "source", mediaObject } });
        }
    }
    throw new NotImplementedException();
}

そしてここに私のprofile.cshtmlコード:

@using (Html.BeginForm("Profile", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <input type="file" name="file" id="file" /><br />
    <input type="submit" value="Upload" />
}

このコードを実行しているときに投稿ボタンをクリックすると、次のエラーが表示されます

「/」アプリケーションでサーバー エラーが発生しました。このオブジェクトにはパラメーターなしのコンストラクターが定義されていません。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.MissingMethodException: このオブジェクトにパラメーターなしのコンストラクターが定義されていません。

ソース エラー:

現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。

いろいろ試してるけど毎回失敗する

4

2 に答える 2

1

コンストラクターにアクセスしてパラメーターを渡そうとしているところのどこかで、あなたが示したすべてのコンストラクターには特定のパラメーターが必要ですが、これを行うコードのどこにも表示されないため、問題は別の部分にある可能性がありますアプリケーションの

デバッグしてステップスルーし、壊れている正確な行を見つけて、パラメーターを確実にコンストラクターに渡していることを確認してください。

于 2012-07-18T13:08:13.577 に答える
0

1 つの推測は、パラメーターを受け取るコントローラーのコンストラクターを定義したことです。

クラスにコンストラクターがない場合は常に、デフォルトで非表示のパラメーターなし (パラメーターを持たない) コンストラクターが存在します。

パラメーターを取るコンストラクターを作成するたびに、その自動デフォルト コンストラクターを取得できなくなります。MVC は、コントローラーにパラメーターのないコンストラクターがあることを期待します。

于 2012-07-18T15:59:15.393 に答える