在javascript函数中添加代码块

Adding code blocks in javascript function

本文关键字:代码 添加 javascript 函数      更新时间:2023-09-26

我试图通过javascript设置一个ASP文本框的值,当我点击一个按钮,但我不能得到我的文本框控件的ClientID使用代码块。

我得到这个错误:

控件集合不能被修改,因为控件包含代码块(即<%…)%>)

这是我的。aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="App.aspx.cs" Inherits="StatsWeb.App" %>
<!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>
    <link href="Styles/Site.css" rel="Stylesheet" type="text/css" />
    <script>
        function testf() {
            alert("here");
            document.getElementById('<%= TextBox1.ClientID %>').value = "asd";
            return false;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Menu ID="Menu1" runat="server" DataSourceID="XmlDataSource1" 
            CssClass="Menu" StaticDisplayLevels="2" MaximumDynamicDisplayLevels="5" >
            <DataBindings>
                <asp:MenuItemBinding DataMember="rule" TextField="name" ValueField="value"/>
                <asp:MenuItemBinding DataMember="splitByField" TextField="name" ValueField="value" NavigateUrl="javascript:testf()"/>
                <asp:MenuItemBinding DataMember="splitByObject" TextField="name" ValueField="value"/>
                <asp:MenuItemBinding DataMember="statDefinition" TextField="name" ValueField="value"/>
            </DataBindings>
        </asp:Menu>
        <asp:XmlDataSource ID="XmlDataSource1" runat="server" 
            DataFile="~/App_Data/stats.xml"></asp:XmlDataSource>
        <asp:Literal ID="Message" runat="server" Text="Status:"></asp:Literal>
        <asp:TextBox ID="TextBox1" runat="server" EnableTheming="True" Height="137px" 
            Rows="6" TextMode="MultiLine" Width="842px"></asp:TextBox>
    </div>
    </form>
</body>
</html>

Replace

<asp:MenuItemBinding DataMember="splitByField" TextField="name" ValueField="value" NavigateUrl="javascript:testf()"/>

<asp:MenuItemBinding DataMember="splitByField" TextField="name" ValueField="value" OnClientClick="return testf()"/>