2017-07-06 15 views
-1

私はグリッドビューを持っており、(Customers.aspx?CustomerID=)ページにリダイレクトするボタン 'VIEW'を追加したいと思います。すべての顧客にはIDがあり、各IDはレポートに関連付けられています。私はIDが私のgridviewに表示されることを望んでいないし、私はそれが隠されてほしい。 また、このボタンは、「管理者」カテゴリまたは「営業担当者」カテゴリの場合にのみ表示されます。私は私のCustomerIDをUserCategoryにバインドして、各IDのレポートを個別に生成する方法があります。if else文を含むボタンを表示

他の投稿も見てみましたが、何らかの理由でボタンがリダイレクトされませんでした。 誰かが私がここで間違っていることを理解したり、何かが欠けているのを理解してくれますか?どんな助けでも大歓迎です。 ありがとうございます。

<asp:TemplateField ShowHeader="False"> 
      <ItemTemplate> 
       <asp:Button ID="btnView" runat="server" CausesValidation="false" CommandName="Select" Text="VIEW" /> 
       </ItemTemplate> 
       <ControlStyle CssClass="button" /> 
      </asp:TemplateField> 



protected void btnView(object sender, EventArgs e) 
{ 
    Button button = (Button)sender; 
    GridViewRow row = (GridViewRow)button.NamingContainer; 
    Label lblCustomerID = (Label)row.FindControl("lblCustomerID"); 

    txtHFUserCategory.Value = Session["UserCategoryPC"].ToString(); 
    String strUserCat = MTProcs.GetSingleDatabaseResult("SELECT tblUsers.UserCategoryID FROM tblUsers WHERE UserID = " + txtHFUserID.Value); 
    if (strUserCat == "4" || strUserCat == "12") 
    { 
     ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open(Customers.aspx?CustomerID=" + lblLeadID.Text + "');", true); 

    } 
} 
+0

ようなあなたのボタン にVisibleプロパティを追加することでそれを行うことができますか? – ISHIDA

+0

これらの2つのテーブルを結合する必要があります。それ以外の場合は、すべての行についてサブテーブルをクエリするのは効率的ではありません。 – Win

+0

GridViewに ' 'を追加しますか? (つまり、列のセル内で)、またはそれをどこかのページに置くだけですか?答えは、GridViewで '_RowDataBound()'イベントハンドラを使用する必要があるかどうか、またはボタンを表示するかどうかを隠すためにページのif-thenが必要かどうかを判断します。 – bradykey

答えて

0

こんにちは、あなたは、単にユーザーと顧客テーブルがデータベースにリンクされている方法を

<asp:button ID="yourBtnID" runat="server" Text="WotEver" visible='<%# Convert.toInt(Eval("admin"))==1 && Convert.toInt(Eval("SALESPERSON"))==1 %>'/> 
+0

この解決策は私のためには機能しませんでした。 –