0

アプリ全体で、Reading に関連するすべての機能に Razor を使用し、CUD 操作には knockoutJS と AJAX を活用したいと考えています。

プロフィール ビューで、次のことを行いました。

<div>
    <h4>About Me</h4>
    <!-- ko if: !isEditingAboutMe() -->
    <p>@Model.User.AboutMe</p>
    @if (Model.CurrentUserCanEdit)
    {
        <a data-bind="click: editAboutMe">edit</a>
    }
    <!-- /ko -->
    <!-- ko if: isEditingAboutMe() -->
    @Html.TextBoxFor(model => model.User.AboutMe, new { data_bind = "value: aboutMe" })
    <a data-bind="click: saveAboutMe">save</a>
    <a data-bind="click: cancelAboutMe">cancel</a>
    <!-- /ko -->
</div>

このようにして、検索エンジンは少なくともコンテンツをクロールでき、JavaScript が有効になっているユーザーは CUD 操作を実行できます。アイデアは、javascript が無効で検索エンジンを使用しているユーザーが、編集機能が表示されていない使用可能な読み取り専用バージョンのアプリを取得することです。

上記の私の問題は、編集コントロールが ko ステートメントでラップされているため、検索エンジンに編集コントロールが表示されることです。これを防ぐ最善の方法は何ですか?

私が考えることができる1つの解決策はdisplay: none、各編集コントロールに追加し、ノックアウト属性バインディングで再度有効にすることです.

また、このアプローチの「妥当性」に関するフィードバックも歓迎します。

4

1 に答える 1