【问题标题】:Error: too many characters in character literal asp.net错误:字符文字 asp.net 中的字符太多
【发布时间】:2015-05-24 23:02:00
【问题描述】:

我在将数据绑定到数据列表时遇到此错误 字符文字 asp.net 中的字符太多

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

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <style type="text/css">
.style1
{
    width:900px;
}
.style2
{
    width:633px;
    text-align:left;
}
.style4
{
    width:185px;
    text-align:center;
}
</style>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <asp:DataList ID="DataList1" runat="server" DataKeyField="modelid" 
        style="text-align: center; color: #333333;" RepeatColumns="3"
        Width="283px" DataSourceID="SqlDataSource2" CellPadding="3" 
    BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" 
    CellSpacing="1" >
        <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
        <ItemStyle BackColor="#DEDFDE" ForeColor="Black" />
        <ItemTemplate>
            <br />
            <div align="left"></div>
            <table cellspacing="1" class="style4" style="border:1px ridge #9900FF">
                <tr>
                    <td style="border-bottom-style:ridge; border-width: 1px; border-color: #000000">
                        <asp:Label ID="Label1" runat="server" Text="<%# Eval('brand') %>"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:ImageButton ID="ImageButton1" runat="server" Height="252px"
                            ImageUrl="<%# Image %>" style="margin-left: 0px" />
                    </td>
                </tr>
                <tr>
                    <td>
                        ModelID<asp:Label ID="Label2" runat="server" Text="<%# Eval('modelid') %>"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
                            CommandArgument="<%# Bind('ModelID') %>" Text="Add to Cart" Width="100%" BorderColor="Black" BorderStyle="Inset" BorderWidth="1px" />
                    </td>
                </tr>
            </table>
            <br />
        </ItemTemplate>
        <SelectedItemStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
    </asp:DataList>
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
    ConnectionString="<%$ ConnectionStrings:VISHConnectionString2 %>" 
    SelectCommand="SELECT [Image], [modelid], [brand] FROM [adddetails]">
</asp:SqlDataSource>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <table align="left" class="style2">
                <tr>
                    <td>
                        <asp:Label ID="Label3" runat="server" style="color: #333333"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        &nbsp;</td>
                </tr>
                <tr>
                    <td>
                        &nbsp;</td>
                </tr>
                <tr>
                    <td>
                        &nbsp;</td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Content>

我在将数据绑定到数据列表时遇到此错误 字符文字 asp.net 中的字符太多

【问题讨论】:

  • 在整个页面中从 Text="&lt;%# Eval('modelid') %&gt;" 更改为 Text='&lt;%# Eval("modelid") %&gt;'。在 Text= 之后您需要使用单引号,而在 Eval 中绑定时使用双引号。
  • 是的,我明白了,谢谢你

标签: c# asp.net


【解决方案1】:

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

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <style type="text/css">
.style1
{
    width:900px;
}
.style2
{
    width:633px;
    text-align:left;
}
.style4
{
    width:185px;
    text-align:center;
}
</style>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <asp:DataList ID="DataList1" runat="server" DataKeyField="modelid" 
        style="text-align: center; color: #333333;" RepeatColumns="3"
        Width="283px" DataSourceID="SqlDataSource2" CellPadding="3" 
    BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" 
    CellSpacing="1" >
        <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
        <ItemStyle BackColor="#DEDFDE" ForeColor="Black" />
        <ItemTemplate>
            <br />
            <div align="left"></div>
            <table cellspacing="1" class="style4" style="border:1px ridge #9900FF">
                <tr>
                    <td style="border-bottom-style:ridge; border-width: 1px; border-color: #000000">
                        <asp:Label ID="Label1" runat="server" Text="<%# Eval('brand') %>"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:ImageButton ID="ImageButton1" runat="server" Height="252px"
                            ImageUrl="<%# Image %>" style="margin-left: 0px" />
                    </td>
                </tr>
                <tr>
                    <td>
                        ModelID<asp:Label ID="Label2" runat="server" Text="<%# Eval('modelid') %>"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
                            CommandArgument="<%# Bind('ModelID') %>" Text="Add to Cart" Width="100%" BorderColor="Black" BorderStyle="Inset" BorderWidth="1px" />
                    </td>
                </tr>
            </table>
            <br />
        </ItemTemplate>
        <SelectedItemStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
    </asp:DataList>
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
    ConnectionString="<%$ ConnectionStrings:VISHConnectionString2 %>" 
    SelectCommand="SELECT [Image], [modelid], [brand] FROM [adddetails]">
</asp:SqlDataSource>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <table align="left" class="style2">
                <tr>
                    <td>
                        <asp:Label ID="Label3" runat="server" style="color: #333333"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        &nbsp;</td>
                </tr>
                <tr>
                    <td>
                        &nbsp;</td>
                </tr>
                <tr>
                    <td>
                        &nbsp;</td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Content>

【讨论】:

  • 欢迎来到 Stackoverflow。无论您的答案是否有效,或者它可能持有的任何新标准如何。你应该解释你的答案是什么,为什么它有效,为什么它更好。多年来更新/更改的内容(旧答案)。所以读者可以理解为什么你的答案是一个实际的答案。
【解决方案2】:

"too many characters in character literal" 是因为 char-literal 中的字符太多。

您可能混淆了'-字符和"-字符。

错误可能在于您的“android.aspx.cs”文件而不是您提供的 .aspx 文件。

你能提供代码吗?

嗯,你的问题就在这里:

<%# Bind('ModelID') %>

用双引号替换你的单引号,你会很成功!

<%# Bind("ModelID") %>

所有的 Evals/Binds 也是如此

另请参阅以下问题:

Why I'm getting CS1012: "Too many characters in character literal" and CS0019?

Too many characters in character literal?

【讨论】:

  • 你确定你对所有的 eval 和绑定都这样做了吗?
  • 您也可以发布您的 CodeBehind 吗? “android.aspx.cs”文件。
  • 描述:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当地修改您的源文件。解析器错误消息:服务器标记格式不正确。源错误:第 33 行: 第 34 行: 第 35 行: 源文件:/android.aspx 行:35
  • 我不太确定您是否可以通过服务器标签上的Eval 设置属性,将asp:Label 更改为&lt;label&gt;&lt;%# Eval("brand") %&gt;&lt;/label&gt; 或设置标签的Text-property来自 CodeBehind。
【解决方案3】:

我认为错误的根源是:

Eval('brand')

它尝试将品牌转换为角色,但由于该错误而失败。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签