値は

2016-09-09 5 views
0

私がログインしているとドロップダウンに値は

値をWebForm1.aspxの

**values** 
apples 
oranges 
grapes 
factory 
juices 
banana 
Grapes 

私は、ドロップダウンの値は唯一の場所として、工場でなければならないユーザ名adminとパスワードでログインするとき、私はしたいですこの管理者ユーザー名以外でログインした場合、工場以外の他の値を表示したい

また、別のユーザー名でログインすると、値はドロップダウンリストには表示されません。工場

私はこのSPを試してみて、このSPは

ALTER procedure [dbo].[list] 
as 
select fruits from tblReg 
where fruits <>'' and 
fruits not in ('Factory') 
and fruits not like '%[0-9]%' 
group by fruits 

完璧に動作し、私はこの

ボタンクリック

  try 
      { 
       loginmethod(txt_us.Text, txt_pwd.Text); 
       Response.Redirect("WebForm1.aspx"); 
       Session["UserName"] = txt_us.Text; 
      } 
      catch 
      { 
       Label1.Text = (""); 
       Label1.Visible = false; 
      } 
を行い、ログインフォームに

LINQ第二のクエリで、このSPを変換

ログイン方法

とWebフォームページの読み込みにあなたはユーザーロールとテーブル「tblR​​eg」をマッピングし、SPにパラメータとしてセッション[「ユーザー名」]またはSession [「役割」]を通過しないのはなぜ

protected void Page_Load(object sender, EventArgs e) 
     { 
      Entities2 tea = new Entities2(); 
      if (!Page.IsPostBack) 
      { 
       if ((Session["UserName"] as string) == "admin") 
       { 
     //1st query 

regiondrop.DataSource = tea.tblReg.Where(x => x.Fruits== "Factory") 
.Select(x => new { Fruits= x.Fruits, Value = x.Fruits}).Distinct() 
.ToList(); 

       } 
       else 
       { 
       //2nd query 

      regiondrop.DataSource = tea.tblReg.AsEnumerable() 
           .Where(x => x.Fruits.All(char.IsLetter) && 
           x.Fruits!= "" && 
           x.Fruits!= "Factory") 
         .Select(x => new { Fruits=x.Fruits, Value=x.Fruits}) 
         .Distinct().ToList();  
       } 
       regiondrop.DataTextField = "Fruits"; 
       regiondrop.DataValueField = "Fruits"; 
       regiondrop.DataBind(); 
       Label4.Visible = false; 

      } 

     } 
+0

コードに何が問題がありますか?実行されていないか、希望の出力が得られていません。 –

+0

はい@A_Name_Does_Not_Matter – user6628729

+0

何が問題なのですか? –

答えて

0

と値を選択してddlに表示します。ロールに従ってデータをフェッチします。

は今tblloginに1列の役割(値=管理者またはユーザー)を追加

を更新しました。

セッション(セッション["役割"])のロールを格納します。

は今もtblRegに1列を追加し、あなたが最後に再び役割を確認せずにコードにバインド

ALTER procedure [dbo].[list] 
@role varchar(10) 
as 
select fruits from tblReg 
where role = @role 

の後ろのコードからSQLのパラメータを渡す必要が役割 例:

RegId fruits  Role 
    1  Mango  user 
    2  Apple  Admin 
    3  banana  Admin 

にマップします。

+0

はこのような単純なspを作成します。パスワード – user6628729