【问题标题】:The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>) javascript控件集合无法修改,因为控件包含代码块(即 <% ... %>)javascript
【发布时间】:2013-05-25 21:35:21
【问题描述】:

我在我的 aspx 页面上遇到了一些关于 javascript 的不同问题。我目前没有使用任何 Masterpage,上述配置在另一个项目中运行良好,但我正在努力寻找解决方案,但仍在搜索......

我的 ASPX 代码

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="comp1.aspx.cs"      Inherits="StudentManagement.comp1" %>

   <!DOCTYPE html>

   <html xmlns="http://www.w3.org/1999/xhtml">
   <head runat="server">
    <title>
        Submit / Update Complains
    </title>
    <!-- CSS -->
    <link rel="stylesheet" type="text/css" href="Style/structure.css" />
    <link rel="stylesheet" type="text/css" href="Style/form.css"/>
    <link rel="stylesheet" type="text/css" href="Style/Submitbtn.css" />
    <link rel="stylesheet" type="text/css" href="Style/MenuMaster.css"/>
    <link rel="stylesheet" type="text/css" href="Style/Logout.css"/>
    <link rel="stylesheet" type="text/css" href="Style/Logoutbtn.css"/>
    <link rel="stylesheet" type="text/css" href="Style/impromptu.css"/>

     <!-- JavaScript -->
     <script type="text/javascript" src="Scripts/jquery.js"></script>
     <script type="text/javascript" src="Scripts/jquery-latest.min.js"></script> 
     <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js">     </script> 
      <script type="text/javascript" src="Scripts/wufoo.js"></script>
      <script type="text/javascript" src="Scripts/jquery-impromptu.2.6.min.js"></script>


      <script type="text/javascript">

        function confirmSubmit() {
        $.prompt('Are you sure you want to submit?'
            , {
                buttons: { Ok: true, Cancel: false }
                , callback: confirmSubmitResult
            }
        );
        return false;
    }

    function confirmSubmitResult(v, m, f) {
        if (v) //post back if the user clicked OK
            $('#<%= btnSubmit.ClientID %>').click();
    }
    </script>


</head>

小小帮大忙

【问题讨论】:

    标签: c# javascript asp.net


    【解决方案1】:

    您不能在 runat="server" 标记中使用 Response.Write 块。查看this post 了解其背后的原因和修复方法:

    Javascript:

     function confirmSubmitResult(v, m, f) {
            if (v) //post back if the user clicked OK
                $('#<%# btnSubmit.ClientID %>').click();
        }
    

    代码隐藏:

    protected void Page_Load(object sender, EventArgs e)
       {
          Page.Header.DataBind();    
       }
    

    【讨论】:

    • 这确实是一个单独的问题。首先检查输出的 ClientID 是否正确,然后检查是否确实调用了 confirmSubmit。
    • 我遵循了你的指导,但是错误消失了,但我的代码没有运行 protected void btnSubmit_Click(object sender, EventArgs e) { string prompt = ""; string message = string.Format(prompt, "此消息在回发后发送"); if (TextBox2.Text.Length == 0 || TextBox1.Text.Length == 0) { ClientScript.RegisterStartupScript(typeof(Page), "message", message); }
    • 迈克,我的回答是针对您关于问题标题中的错误的问题。这条评论本身确实值得另一个问题。
    • 感谢您的回复。感谢您的帮助...您能指导我了解背后的代码吗?
    猜你喜欢
    • 2011-06-27
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    相关资源
    最近更新 更多