Listview条件警报

本文关键字:条件 Listview | 更新日期: 2023-09-27 18:02:10

我目前正在与一个列表视图中,我想要一个htmlablecell拥有的onclick属性,这是由背后的代码而不是javascript驱动。然而,我猜让它服从c#代码几乎是一个梦想……无论如何,这就是我想让它运行的:

    protected void show_anm(object sender, EventArgs e)
    {
        Label hiddenc = (Label)listview1.FindControl("hidden");
        Alert.Show(hiddenc.Text);
    }

这里是Alert类

public static class Alert
{
    public static void Show(string message)
    {
        string cleanMessage = message.Replace("'", "'''");
        string script = "<script type='"text/javascript'">alert('" + cleanMessage + "');</script>";
        Page page = HttpContext.Current.CurrentHandler as Page;
        if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert"))
        {
            page.ClientScript.RegisterClientScriptBlock(typeof(Alert), "alert", script);
        }
    }
}

关键是创建一个包含两个条件表单元格的listview,一个只在满足特定条件时出现,另一个每隔一次出现(这已经整理好了)。其中一个要求条件是可点击的,点击它后,它会显示一个Alertbox与数据从一个特定的DB单元…
对不起,如果我的语言和问题看起来不太对劲,英语不是我的母语,我还没有把自己泡在咖啡里。

对此事的任何帮助将是非常感激的

EDIT1 *

<asp:Listview ................
    <ItemTemplate>
         <tr ......>
              <td id=default .....>
                    <asp:label ........ Text='<%# eval("stuff") %> />
              </td>
              <td id=conditional onclick=alert()..........>
                    <asp:label ......... Text='<%# eval("stuff") %> />
              </td>
              <td id=hidden visible=false ...........>
                    <asp:label ......... Text='<%#eval("stuff i want in alert") %>' />
              .....

<script tyupe="text/javascript">
function alert()
{
  var msg = document.getElementById("tried with label id and tablecell id nothing seemingly worked").value;
  alert(msg);
}
</script>

我最近做了一个解决方案,显示了我想要在标签工具提示中显示的数据,但我仍然希望警报框能正常工作,因为点击一些东西感觉更自然。

Edit2如果有人想知道,我使用ItemDataBound事件在if子句中绑定单元格默认和条件的可见性,以确保控件存在并且满足条件。

Listview条件警报

我很困惑为什么你在做你正在做的事情。为什么你想要隐藏代码来处理一个htmlablecell的onclick事件,当你抽出javascript来显示一个警告呢?

为什么不在Javascript中处理整个逻辑?

来自htmltablcell的回发也需要javascript

设置tablecell调用javascript函数,从隐藏值中获取警告文本并显示;

        function ShowAlert()
        {
           var message = document.getElementbyId("hidden").value;
           alert.show(message);
        }