javascript无法处理主要内容或主要内容

时间:2014-06-13 08:21:07

标签: c# javascript asp.net

当我使用像

这样的格式的javascript代码时
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
<script language="javascript" type="text/javascript">
    function SetButtonStatus(sender, target) {
        var first = document.getElementById('<%=txtfirst.ClientID %>');
        var second = document.getElementById('<%=txtText.ClientID %>');
        //Condition to check whether user enters text in two textboxes or not
        if ((sender.value.length >= 1 && first.value.length >= 1) && (sender.value.length >= 1 && second.value.length >= 1))
            document.getElementById(target).disabled = false;
        else
            document.getElementById(target).disabled = true;
    }
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:TextBox ID="txtfirst" runat="server" onkeyup="SetButtonStatus(this,'btnButton')"></asp:TextBox>
    <asp:TextBox ID="txtText" runat="server" onkeyup="SetButtonStatus(this,'btnButton')"></asp:TextBox>
    <asp:Button ID="btnButton" runat="server" Text="Button" Enabled="false" />
    </div>
    </form>
</body>
</html>

它的运行完美,javascript工作正常,

但是当我在其他页面中使用此javascript代码时,如

<%@ Page Title="About Us" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile="About.aspx.cs" Inherits="About" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    <script language="javascript" type="text/javascript">
    function SetButtonStatus(sender, target) {
        var first = document.getElementById('<%=txtfirst.ClientID %>');
        var second = document.getElementById('<%=txtText.ClientID %>');
        //Condition to check whether user enters text in two textboxes or not
        if ((sender.value.length >= 1 && first.value.length >= 1) && (sender.value.length >= 1 && second.value.length >= 1))
            document.getElementById(target).disabled = false;
        else
            document.getElementById(target).disabled = true;
    }
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:TextBox ID="txtfirst" runat="server" onkeyup="SetButtonStatus(this,'btnButton')"></asp:TextBox>
    <asp:TextBox ID="txtText" runat="server"  onkeyup="SetButtonStatus(this,'btnButton')"></asp:TextBox>
    <asp:Button ID="btnButton" runat="server" Text="Button" Enabled="false"/>
</asp:Content>

javascript无法正常运行且无错误。

我正在使用visual studio 2010 asp.net c#。

1 个答案:

答案 0 :(得分:0)

尝试传递渲染页面后获得的按钮的实际ID。 (您可以从视图源复制)

<asp:TextBox ID="txtfirst" runat="server" onkeyup="SetButtonStatus(this,'ContentPlaceHolder1_btnButton')"></asp:TextBox>
<asp:TextBox ID="txtText" runat="server" onkeyup="SetButtonStatus(this,'ContentPlaceHolder1_btnButton')"></asp:TextBox>

它会起作用。

由于