<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:tdfConnectionString2 %>" SelectCommand="select * from answer,users where question_id="<%=Session["qid"]%>" and answer.user_id=users.user_id"></asp:SqlDataSource>
<asp:Repeater ID="Repeater2" runat="server" DataSourceID="SqlDataSource1">
<HeaderTemplate>
<div class="container">
</HeaderTemplate>
<ItemTemplate>
<div class="panel panel-primary">
<div class="panel-heading">
<h2 class="panel-title"><a href="Answer.aspx?qid=<%#Eval("question_id") %>"><asp:Label ID="Label2" runat="server" Text="Reply"></asp:Label></a></h2>
</div><!--panel-heading-->
<div class="panel-body">
<asp:Image ID="Image1" runat="server" ImageUrl='<%#Eval("uimg")%>' Height="100" Width="100" />
<asp:Label ID="Label1" runat="server" Text='<%#Eval("answer_detail") %>'></asp:Label>
<br />
<asp:Label ID="Label4" runat="server" Text='<%#Eval("username") %>'></asp:Label>
<br />
</div><!--panel-heading-->
</ItemTemplate>
</asp:Repeater>
&#39; /&#39;中的服务器错误应用
分析器错误
描述:解析为此请求提供服务所需的资源时发生错误。请查看以下特定的解析错误详细信息并相应地修改源文件。
分析程序错误消息:服务器标记格式不正确。
来源错误:
第28行:第29行:第30行:
&#34; SelectCommand =&#34;从答案中选择*,用户在哪里 question_id =&#34;&LT;%=会话[&#34; QID&#34;]%GT;&#34;和 answer.user_id = users.user_id&#34;&GT;第31行:
第32行:源文件:/Admin/QuestionView.aspx行:30
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34212
答案 0 :(得分:1)
您无法使用<%= ... %>
设置服务器端控件的属性。内联表达式<% %>
只能在aspx页面或用户控件的顶级文档级别使用,但不能嵌入到服务器控件的标记属性中(例如<asp:SqlDataSource... SelectCommand =<%= %> ..>
)。
您无法在<%=Session["qid"]%>
的控件中使用runat=server
。这将不会被评估,因为这是一个服务器控制。您可以在代码隐藏或page_load事件中设置该值。
您需要在page_load事件中添加以下内容。
SqlDataSource1.SelectCommand = select * from answer,users where question_id=" + Session["qid"].ToString() + " and answer.user_id=users.user_id"
SqlDataSource1.ConnectionString = "<PUT_YOUR_Connectrin_String_Here>";
在aspx中更新SqlDataSource1
,如下所示。
<asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource>
这里已经解释过了 - Web Forms error message: "This is not scriptlet. Will be output as plain text"