【问题标题】:ImageButton OnMouseOver Call C# functionImageButton OnMouseOver 调用 C# 函数
【发布时间】:2015-01-12 10:58:03
【问题描述】:

我对图像按钮及其onmouseover 操作有疑问。

在我的 ASPX 文件中,我有类似的内容:

<script type="text/javascript">
    function dosth() {
        document.getElementById("btnload").click();
    }
</script>

...

<asp:Panel ID="pnUp" Height="200px" runat="server"></asp:Panel>

...

<asp:Button ID="btnload" runat="server" OnClick="btnload_Click"
    Visible="false" />

...

在我的 ASPX .cs 文件中类似:

ImageButton btnImg = new ImageButton();

protected void Page_Load(object sender, EventArgs e)
{
    btnImg.ID = "btnImg";
    btnImg.ImageUrl = "images/imgbutton.png";
    btnImg.CssClass = rblSize.SelectedValue.ToString();
    btnImg.Attributes.Add("OnMouseOver", "dosth();");
    pnUp.Controls.Add(btnImg);
}

protected void btnload_Click(object sender, EventArgs e)
{
    // stuff to do
}

但这不起作用。

你知道如何在onmouseover action 中运行 C# 函数吗? JavaScript 函数dosth() 正在执行,但仍然没有运行点击函数。

【问题讨论】:

    标签: c# asp.net imagebutton onmouseover


    【解决方案1】:

    当通过 JavaScript 引用 ASP.NET 服务器控件的 ID 时,您必须使用控件的 ClientID 属性。 ClientID 属性输出控件的完整客户端 ID。

    这应该可行:

    <script type="text/javascript">
        function dosth() {
            document.getElementById('<%=btnload.ClientID%>').click();
        }
    </script>
    

    【讨论】:

      【解决方案2】:

      您有任何 JavaScript 错误吗?

      我认为您的问题是您使用错误的 id 在 JavaScript 中查找 &lt;img&gt; 标记。

      在 ASP.NET 中,客户端 ID 是自动生成的,以确保它是唯一的。

      你有两个选择:

      选项 1:在您的 btnload 定义中将 ClientIDMode 设置为 Static

      <asp:Button ID="btnload" runat="server" ClientIDMode="Static"
          OnClick="btnload_Click" Visible="false" />
      

      这样btnload will的客户端id就是"btnload"

      选项 2:更改您的 JavaScript 以插入生成的客户端 ID。

      <script type="text/javascript">
      function dosth() {
          document.getElementById('<% this.btnload.ClientId %>').click();
      }
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-04
        • 1970-01-01
        相关资源
        最近更新 更多