如何禁用 ASP.NET 中单个列的 ItemTemplate 内的项目
<Columns>
<asp:TemplateField HeaderText="Actions" ItemStyle-Width="15%">
<ItemTemplate>
<asp:ImageButton ID="imgbtn" ImageUrl="Styles/Images/Edit.jpg" runat="server" Width="25"
Height="25" OnClick="imgbtn_MessageEditClick" Enabled="True" ToolTip="Edit Message" />
<asp:LinkButton ID="Lnk_Delete" CommandArgument='<%# Eval("MsgID") %>'
CommandName="Delete" runat="server" > <img id="Img1" src="Styles/Images/Delete.jpg" runat="server" style="border-style: none"
alt="Delete Message" /></asp:LinkButton>
<asp:ImageButton ID="imgbtn_ViewDashBoard" ImageUrl="Styles/Images/dash.jpg" Enabled="True"
Width="" runat="server" PostBackUrl='<%# Eval("MsgID", "ResponseMetric.aspx?MsgID={0}") %>'
Text='Send' ToolTip="View DashBoard"></asp:ImageButton>
</ItemTemplate>
我有这些项目模板,它们位于同一列中,我有另一列 MessageActive。在 rowDataBound 中,如果 messageActive 为 no,则我将行颜色设置为红色,对于同一列,如何禁用 ImageButton ID="imgbtn"< /code> 和 ItemTemplate
内的 asp:LinkButton ID="Lnk_Delete"
。
protected void MyGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)e.Row.FindControl("Status");
int msgid;
int.TryParse(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "MsgID")), out msgid);
string status = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "MessageActive"));
if(status.Equals("No"))
{
e.Row.BackColor = Color.Red;
}
}
}
我为 gridview
进行databind
。
<Columns>
<asp:TemplateField HeaderText="Actions" ItemStyle-Width="15%">
<ItemTemplate>
<asp:ImageButton ID="imgbtn" ImageUrl="Styles/Images/Edit.jpg" runat="server" Width="25"
Height="25" OnClick="imgbtn_MessageEditClick" Enabled="True" ToolTip="Edit Message" />
<asp:LinkButton ID="Lnk_Delete" CommandArgument='<%# Eval("MsgID") %>'
CommandName="Delete" runat="server" > <img id="Img1" src="Styles/Images/Delete.jpg" runat="server" style="border-style: none"
alt="Delete Message" /></asp:LinkButton>
<asp:ImageButton ID="imgbtn_ViewDashBoard" ImageUrl="Styles/Images/dash.jpg" Enabled="True"
Width="" runat="server" PostBackUrl='<%# Eval("MsgID", "ResponseMetric.aspx?MsgID={0}") %>'
Text='Send' ToolTip="View DashBoard"></asp:ImageButton>
</ItemTemplate>
I have these Items templates, which is in the same column, I have another column MessageActive. In the rowDataBound
if the messageActive is no then I set the row color to red, and for the same column how can I disable
ImageButton ID="imgbtn"
and asp:LinkButton ID="Lnk_Delete"
inside the ItemTemplate
.
protected void MyGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)e.Row.FindControl("Status");
int msgid;
int.TryParse(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "MsgID")), out msgid);
string status = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "MessageActive"));
if(status.Equals("No"))
{
e.Row.BackColor = Color.Red;
}
}
}
I do databind
for the gridview
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以将以下代码添加到 RowDataBound 事件处理程序方法中
you can add the following code to your RowDataBound event handler method