2011-07-27 4 views
0

特定の製品名を持つProductNameというフィールドがあります。ログインしたユーザーは、テキストをクリックして保存を押すと製品名を更新できます。Javascriptフィールドは管理者のみ編集可能

コードはhttp://www.appelsiini.net/projects/jeditableから可能です。

私はASP.net VBで管理者と非管理者の役割を設定していますが、管理者だけがそのフィールドを編集できるようにする方法はJavascriptにありますか?

これは、編集可能なフィールドのJavascriptコードです:ここで

$('.productName.edit').editable(function (value, settings) { 
    var ProductID = $('input#body_ProductID').val(); 
    var result = SubmitProductName(ProductID, value); 
    return (value); 
}, { 
    width: '350', 
    submit: 'Save Changes', 
    cancel: 'Cancel', 
    onBlur: 'ignore' 
}); 

は、ASPでのフィールドそのものです:

<asp:FormView ID="fvProduct" runat="server" DataSourceID="dsProduct"> 
     <ItemTemplate> 
      <h1 class="productName edit"><%# Eval("ProductName")%></h1> 
     </ItemTemplate> 
    </asp:FormView> 

私は本当に任意の助けをいただければ幸いです。ありがとう。

答えて

0

これはjavascriptで行うことができますが、これはjavascriptを無効にする/ハッキングする(非常に簡単に実行できる)バイパス可能です。これはサーバー側で行う必要があります。

本当にこれをjavascriptで行いたい場合は、ajax呼び出しでアクセス許可をチェックしてください。

+0

私はJavascriptでそれを行う方法を尋ねた唯一の理由は、私がASPでそれを理解できないためです。以下のコードを試してみましたが、動作しません。アイテムテンプレートはサポートされていません。

<%#エバール( "商品名")%>

Jamie

0

これはサーバー側で行う必要がありますが、クライアント側でこれを行う場合は、ユーザーがログインしたときに管理者か非管理者かを追跡するCookieを保存できます。あなたが保管しているそのクッキーが彼が管理者であるかどうかをチェックします。彼が管理者の場合は、そうでない場合は編集を許可します。

+0

私はロールを設定しているので、ASPで行う方が簡単かもしれませんが、動作させる方法を理解できません。それは単に項目がサポートされていないと言います。

<%#エバール( "商品名")%>

Jamie

+0

@Jamie私は、ASPやVBに精通していないですあなたはあなたが管理者と非管理者をjavascriptで区別しなければならないと言ったように、これは私があなたができると思ったものです。 – lovesh

+0

これは良いアイデアです。私はクッキーの使い方がわからないので、今私はそれらについて読んでいます。 :) – Jamie

関連する問題