gpt4 book ai didi

c# - 在 gridview 中单击删除按钮/链接时创建警报时出错

转载 作者:行者123 更新时间:2023-11-30 17:13:11 24 4
gpt4 key购买 nike

我的目标是在我尝试单击 gridview 中的删除按钮时创建一条警告消息。我正在使用 asp.net C#。当我尝试运行我的程序时,我遇到了这个错误:

编译错误说明:编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。

编译器错误消息:CS0039:无法通过引用转换、装箱转换、拆箱转换、包装转换或空类型转换

来源错误:

第 211 行://如果您将链接(而非图像)作为命令按钮。第 212 行://LinkBut​​ton button = cell as ImageButton;第 213 行:ImageButton button = control as ImageButton;第 214 行:if (button != null && button.CommandName == "Delete")第215行://添加删除确认


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// loop all data rows
foreach (DataControlFieldCell cell in e.Row.Cells)
{
// check all cells in one row
foreach (Control control in cell.Controls)
{
// Must use LinkButton here instead of ImageButton
// if you are having Links (not images) as the command button.
//LinkButton button = cell as ImageButton;
ImageButton button = control as ImageButton;
if (button != null && button.CommandName == "Delete")
// Add delete confirmation
button.OnClientClick = "if (!confirm('Are you sure " +
"you want to delete this record?')) return;";
}
}
}

}

嗨 Pedro,我不熟悉使用 asp.net C# 进行编码,所以我很难完成我的项目。我正在使用 Visual Studio 2008...如下所示:

<asp:TemplateField>              
<ItemTemplate>
<asp:LinkButton ID="lnkRemove" runat="server" CommandArgument="<%# Eval("somethingthatidentifiesRow")%>"
OnClientClick="return confirm('Do you want to delete?')" Text="Delete"
OnClick="DeleteFunction">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>

请问我应该在我的 .aspx.cs 文件中放些什么。谢谢

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{


}

谢谢 Pedro..我快要拿到它了...但还有 1 个问题..我应该在这里放什么 --> “somethingthatidentifiesRow”?谢谢

<asp:LinkButton ID="lnkRemove" runat="server"  CommandArgument="<%# Eval("somethingthatidentifiesRow")%>" 

最佳答案

再次检查关于元素转换的错误,它说你不能将 tablecell 元素转换为 imagebutton 元素,所以你正在对它进行错误的对话,正确地找到合适的元素,而不是按照我下面解释的那样去做。

您需要检查给定的控件是否为 ImageButton,如果不是,则需要为示例搜索其他控件

foreach (Control control in cell.Controls) 
{
if(control is ImageButton)
{
ImageButton button = control as ImageButton;
//you code to atttach javascript with button
}
else
continue;
}

或者其他方法是通过单元格中元素的 id 找到控制而不是循环

ImageButton btn = cell.FindControl("id_of_imagebutton") as ImageButton;
if(btn!=null)
{
//you code to atttach javascript with button

}

关于c# - 在 gridview 中单击删除按钮/链接时创建警报时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9994364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com