私はグリッドビューを持っており、(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);
}
}
ようなあなたのボタン にVisibleプロパティを追加することでそれを行うことができますか? – ISHIDA
これらの2つのテーブルを結合する必要があります。それ以外の場合は、すべての行についてサブテーブルをクエリするのは効率的ではありません。 – Win
GridViewに ' 'を追加しますか? (つまり、列のセル内で)、またはそれをどこかのページに置くだけですか?答えは、GridViewで '_RowDataBound()'イベントハンドラを使用する必要があるかどうか、またはボタンを表示するかどうかを隠すためにページのif-thenが必要かどうかを判断します。 –
bradykey