【问题标题】:c# ajax updatepanel only firing clientside event in .net masterpagesc# ajax updatepanel 仅在.net 母版页中触发客户端事件
【发布时间】:2011-08-19 05:23:47
【问题描述】:

单击 href 链接时出现此错误:Microsoft JScript 运行时错误:属性“walkRedCarpet”的值为 null 或未定义,不是函数对象。

对我来说,这意味着它没有触发 OnClientClick 事件并将 OnClick 视为客户端事件。我错了吗?

链接 (a href) 是通过代码隐藏 PageLoad 事件以编程方式生成的,是占位符的内容。

代码

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="MyFile.aspx.cs" Inherits="MyProject.MyFile" %>

<script runat="server">
    protected void walkRedCarpet(int eventID)
     {

     }
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript">
    function Call() {
         return Page_ClientValidate();
    }
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:UpdatePanel ID="updtPnlRedCarpet" runat="server">
    <asp:PlaceHolder ID="PlaceHolder2" runat="server"></asp:PlaceHolder>
</asp:Content>

占位符内容代码隐藏

<a href='#' OnClick='walkRedCarpet(" + eventID + ");' OnClientClick='return Call()' runat='server' id='linkEventShowImageSet'><img Width='125' Height='95'src='Images/" + strEventThumb.ToString() + "' border='0'></a>

占位符内容后编译

<a href='#' OnClick='walkRedCarpet(1);' OnClientClick='return Call()' runat='server' id='linkEventShowImageSet'><img Width='125' Height='95'src='Images/event-1-ready.jpg' border='0'></a>

我对 AJAX 很陌生。我搜索了 webbernet 并查看了无数示例,直到我的大脑变得非常柔软和糊状。请温柔一点。

【问题讨论】:

  • 那么..占位符的内容是否可能一旦渲染就不是 runat='server' 元素?意思是,锚标签没有在服务器端运行。
  • 你是如何从 onLoad 生成代码的?

标签: c# ajax


【解决方案1】:

我睡着了,我的第一次阅读让我跳过了你在那里的“runat="server"”。你的行为是对的,那么生成的 HTML 是什么样的?

【讨论】:

  • 据我所知,它们都被正确标记为 runat="server"。
  • PLACEHOLDER CONTENTS POSTCOMPILE 是生成的html。
【解决方案2】:

我必须实际使用一个 LinkBut​​ton 和这个:

        UpdatePanel1.UpdateMode = System.Web.UI.UpdatePanelUpdateMode.Conditional;
        UpdatePanel1.Update();

让它正常工作。

祝你好运!

【讨论】:

    猜你喜欢
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    相关资源
    最近更新 更多