我有一个传统的asp.net 3.5应用程序。我需要将一个字段绑定到CssClass,以便我可以通过jquery使用它。
基本上,在数据网格中,有2个按钮。按钮1可见,按钮2不可见。单击按钮1,我想执行操作,然后使按钮2可见并隐藏按钮1。我怎样才能做到这一点?我只需要向正确的方向踢一脚......
<asp:LinkButton ID="lnkDelete" runat="server"
ToolTip="Delete Order <%# DataBinder.Eval(Container.DataItem, "TransID")%>"
OnClientClick="return DeleteOrder();"
OnClick="OrderDelete" CommandArgument='<%# Eval("TransID")'
CssClass="">
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/icons/delete.gif"
BorderStyle="None" />
</asp:LinkButton>
我在工具提示中的当前绑定会导致错误,“服务器标记格式不正确”。
在OrderDelete
后面的代码中,我可以禁用删除链接,但如何让其他按钮可见?
//delete indivisual order
protected void OrderDelete(object sender, EventArgs e)
{
string transactionID = String.Empty;
LinkButton lnkDelete = (LinkButton)sender;
if (lnkDelete != null)
transactionID = lnkDelete.CommandArgument;
if (!String.IsNullOrEmpty(transactionID))
{
//do delete
}
//refresh results
}
答案 0 :(得分:1)
对于服务器标签没有格式错误,请尝试以下方法:
ToolTip='<%# String.Format("Delete Order {0}", DataBinder.Eval(Container.DataItem, "TransID")%>'
对于问题的第二部分,您的一些代码可能有助于为您提供更具体的答案,但代替这一点,如果您知道您所在的DataGrid的哪一行,您应该能够在该行中为第二个按钮执行FindControl并使其可见。
<强>更新强>
您可以尝试使用RowDataBound
事件在代码隐藏中设置工具提示。像这样:
protected void gv1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton btn = e.Row.FindContorl("lnkDelete") as LinkButton;
// You'll need to retrieve the values you want to dynamically populate
// the ToolTip with from other controls in the row;
// I don't know if you'd be able to use the DataSource or not, but you might.
btn.ToolTip = "Delete Order ";
}
}