C# 服务器标记的格式不正确。html runat=";服务器";和数据目标="#<;%评估(“缩写”)%>&引用;

C# 服务器标记的格式不正确。html runat=";服务器";和数据目标="#<;%评估(“缩写”)%>&引用;,c#,html,asp.net,C#,Html,Asp.net,我必须生成复选框,单击按钮时必须选中复选框。 单击复选框时,需要使用“数据目标”来解压一些代码 我需要同时检查塌陷和是否检查 问题: runat=“server”和data targetr=“#”让我的编译器说“服务器标记格式不正确” 当我尝试在serveside上获取“chk.checked”时,它会说它不知道,因为如果我有数据目标,我就无法运行runat=“server” 下面是转发器的html代码 <asp:Repeater ID="ferryRepeater" runat="ser

我必须生成复选框,单击按钮时必须选中复选框。 单击复选框时,需要使用“数据目标”来解压一些代码

我需要同时检查塌陷和是否检查

问题: runat=“server”和data targetr=“#”让我的编译器说“服务器标记格式不正确”

当我尝试在serveside上获取“chk.checked”时,它会说它不知道,因为如果我有数据目标,我就无法运行runat=“server”

下面是转发器的html代码

<asp:Repeater ID="ferryRepeater" runat="server">
            <ItemTemplate>
                <div id="div1" runat="server">
                    <input  id="chkFerry"  type="checkbox" data-toggle="collapse" runat="server" data-target="#<%# Eval("Abbreviation")%>"  />
                    <!--data-target="#<%# Eval("Abbreviation")%>" -->
                    <label id="label1" for="chk1"><%# Eval("SubcontractorName") %></label>
                    <div id="<%# Eval("Abbreviation") %>" class="collapse obligatorisk">
                        <dl>
                            <dt id="toFrom1"></dt>
                            <dd>
                                <p id="text1"><%# Eval("DialogueText") %></p>
                            </dd>
                        </dl>
                    </div>
                </div>
            </ItemTemplate>
        </asp:Repeater>
private void BindRepeaterData()
{
    string sqlString = @"SELECT sc.SubcontractorName, dt.DialogueText, sc.Abbreviation FROM dbo.Subcontractor sc LEFT OUTER JOIN dbo.DialogueText dt ON sc.DialogueId = dt.DialogueId WHERE sc.Active = 1 AND sc.Type = 'Færge' ORDER BY sc.SubcontractorName";
    SqlCommand cmd = new SqlCommand(sqlString, conn);
    DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(ds);
    ferryRepeater.DataSource = ds;
    ferryRepeater.DataBind();
}
我曾尝试将数据目标更改为数据目标='#',并运行runat=“server”,但它没有生成评估


对不起,如果这不是很好的解释。这是我在这里的第一篇文章,所以请温和一点。

不要在评估中使用双引号。例如:

data-target="#<%# Eval("Abbreviation")%>"
data target=“#”
应该是:

data-target='#<%# Eval("Abbreviation")%>'
data target='#'
整体而言:

<asp:Repeater ID="ferryRepeater" runat="server">
        <ItemTemplate>
            <div id='div1_<%# Eval("Abbreviation")%>' runat="server">
                <input  id='chkFerry_<%# Eval("Abbreviation")%>'  type="checkbox" data-toggle="collapse" runat="server" data-target='#<%# Eval("Abbreviation")%>'  />
                <!--data-target="#<%# Eval("Abbreviation")%>" -->
                <label id='label1_<%# Eval("Abbreviation")%>' for='chkFerry_<%# Eval("Abbreviation")%>'><%# Eval("SubcontractorName") %></label>
                <div id='<%# Eval("Abbreviation") %>' class="collapse obligatorisk">
                    <dl>
                        <dt id='toFrom1_<%# Eval("Abbreviation") %>'></dt>
                        <dd>
                            <p id='text1_<%# Eval("Abbreviation") %>'><%# Eval("DialogueText") %></p>
                        </dd>
                    </dl>
                </div>
            </div>
        </ItemTemplate>
    </asp:Repeater>

data target='#'
整体而言:

<asp:Repeater ID="ferryRepeater" runat="server">
        <ItemTemplate>
            <div id='div1_<%# Eval("Abbreviation")%>' runat="server">
                <input  id='chkFerry_<%# Eval("Abbreviation")%>'  type="checkbox" data-toggle="collapse" runat="server" data-target='#<%# Eval("Abbreviation")%>'  />
                <!--data-target="#<%# Eval("Abbreviation")%>" -->
                <label id='label1_<%# Eval("Abbreviation")%>' for='chkFerry_<%# Eval("Abbreviation")%>'><%# Eval("SubcontractorName") %></label>
                <div id='<%# Eval("Abbreviation") %>' class="collapse obligatorisk">
                    <dl>
                        <dt id='toFrom1_<%# Eval("Abbreviation") %>'></dt>
                        <dd>
                            <p id='text1_<%# Eval("Abbreviation") %>'><%# Eval("DialogueText") %></p>
                        </dd>
                    </dl>
                </div>
            </div>
        </ItemTemplate>
    </asp:Repeater>


尝试以下操作: 注意数据目标的
String.Format
方法的使用:

<asp:Repeater ID="ferryRepeater" runat="server">
            <ItemTemplate>
                <div id="div1" runat="server">
                    <input  id="chkFerry"  type="checkbox" data-toggle="collapse" runat="server" data-target='<%# String.Format("#{0}", Eval("Abbreviation"))%>'  />

                    <label id="label1" for="chk1"><%# Eval("SubcontractorName") %></label>
                    <div id="<%# Eval("Abbreviation") %>" class="collapse obligatorisk">
                        <dl>
                            <dt id="toFrom1"></dt>
                            <dd>
                                <p id="text1"><%# Eval("DialogueText") %></p>
                            </dd>
                        </dl>
                    </div>
                </div>
            </ItemTemplate>
        </asp:Repeater>



尝试此操作:
注意数据目标值周围的单引号如果执行此操作,则会出现以下错误:语法错误,无法识别的表达式:#尝试选中复选框时。尝试此操作:
注意数据目标值周围的单引号如果执行此操作,则会出现以下错误:语法错误,无法识别的表达式:#尝试选中复选框时。如果我这样做,则会出现以下错误:语法错误,无法识别的表达式:#尝试选中复选框时。此外,每个控件的ID都必须唯一。不能对每行重复相同的ID。另外,您是否尝试过使用asp:复选框代替HTML输入以及asp:面板作为Divs?如果检查网站,它会生成id。我使用了Asp:面板和Asp:复选框。但它仍然给我错误:语法错误,无法识别的表达式:#请向我们提供转发器的数据源代码(即页面加载/其他页面功能代码,以及发送到转发器的数据)。我在绑定转发器数据的地方添加了代码。我只是在页面加载中运行BindRepeaterData()函数。如果执行此操作,则在尝试选中复选框时会出现以下错误:语法错误,无法识别的表达式:#。此外,每个控件的ID都必须是唯一的。不能对每行重复相同的ID。另外,您是否尝试过使用asp:复选框代替HTML输入以及asp:面板作为Divs?如果检查网站,它会生成id。我使用了Asp:面板和Asp:复选框。但它仍然给我错误:语法错误,无法识别的表达式:#请向我们提供转发器的数据源代码(即页面加载/其他页面功能代码,以及发送到转发器的数据)。我在绑定转发器数据的地方添加了代码。我只是在页面加载中运行BindRepeaterData()函数。这修复了单击时的错误。其中一个问题已经解决了,现在我遇到了检查它是否被检查的问题。既然您解决了其中一个问题,那么我该如何处理stackoverflow?我是否接受你的回答并写一个新问题,或者这是如何处理的?你可以将这个问题标记为已回答。您想检查是在客户端还是在服务器端选中复选框?我想在服务器端选中复选框。这是您可以帮助的吗?:)在Page_Load method中,在调用
BindRepeaterData
方法之前,是否添加了条件
if(!IsPostBack)
?另外,以下代码是否有效
HtmlInputCheckBox chk=(HtmlInputCheckBox)item.FindControl(“chkFerry”);如果(chk.Checked)
?这修复了单击时的错误。其中一个问题已经解决了,现在我遇到了检查它是否被检查的问题。既然您解决了其中一个问题,那么我该如何处理stackoverflow?我是否接受你的回答并写一个新问题,或者这是如何处理的?你可以将这个问题标记为已回答。您想检查是在客户端还是在服务器端选中复选框?我想在服务器端选中复选框。这是您可以帮助的吗?:)在Page_Load method中,在调用
BindRepeaterData
方法之前,是否添加了条件
if(!IsPostBack)
?另外,以下代码是否有效
htmlinputc