複数の用途のグラバターを 1 ページに表示しようとしていますが、そのために foreach ループを使用しています。また、ノックアウトjsを使用して、電子メールや名前などの情報を取得し、jsonとして返しています。文字列をメールとして渡すように要求し、「data-bind="text:Email」が返されるため、グラバターでかみそりを使用できないため
私は MD5 の概念を使用しようとしていますが、これに非常に慣れていないため、正しい手順に従っているかどうかわかりません。私はこれをGoogleコードからオンラインで見つけました: http://www.devcurry.com/2012/06/retrifying-gravatar-using-jquery.html
実装しようとしましたが、コードが適切に記述されているかどうかはわかりません:
私がやっていることに関連する私のJavaScriptの一部:
$.views.Games.UserViewModel = function (data) {
var self = this;
self.Name = ko.observable(data.Name);
self.Email = ko.observable(data.Email);
self.Hash = CryptoJS.MD5(Email);
};
マイ ビュー ページ:
<img alt="Gravatar" title="My Gravatar" data-bind="attr:{href:'http://www.gravatar.com/avatar/' +Hash()+'?s=30&d=identicon&r=G'}" />
これで、表示するグラバターを取得できません。役立つ情報やヒントは大歓迎です。
コードの更新
私はそれがどのように見えるかを変更しました:
モデルを見る
public string MD5Email { get{ return Email.MD5Hash(); } }
JavaScript
self.MD5Email = ko.observable('http://www.gravatar.com/avatar/' + data.MD5Email + '?s=30&d=identicon&r=G');
ページを見る
<img width="158" height="158" alt="Gravatar" data-bind="attr:{'src':MD5Email()}"/>