我的asp.net代码中嵌入的C#脚本的输出存在问题。单击Web表单的提交按钮后生成输出。此Web表单位于页面顶部。当单击提交时,输出当前被放置在Web表单上方,而Web表单又在其下方推送Web表单。我希望相反的事情发生。我希望它输出到我的网络表单下方。我从脚本生成输出的方式如下:
Response.Write("<p>");
foreach(obj in arr){
Response.Write(obj);
}
Response.Write("</p>");
如果重要,我用runat =“server”初始化脚本。当用户在Web表单附近选择“提交”时,将调用该脚本。提前致谢。我一直试图将这个东西格式化很长一段时间。
答案 0 :(得分:5)
最好将“文字”对象放在页面上的某个位置,准确地显示您想要显示结果的位置,然后,不要使用response.write吐出HTML,而是将所需的文本分配给代码隐藏中的文字。
像这样:
<html>
<p>
<asp:Literal ID="ltlTest" runat="server"></asp:Literal>
</p>
</html>
然后在你的代码中:
ltlTest.Text = "the string you want to show...";
您可以在字符串赋值中包含html标记,但通常我不会这样做。
答案 1 :(得分:1)
你有一些选择。
您可以将arr
设为公共媒体资源,然后直接在页面标记中使用<% foreach (var obj in arr) Response.Write(obj); %>
。
您可以输入<asp:Literal runat="server" ID="Literal1">
控件,然后在代码中设置Literal1.Text = ...
。这实现了相同,但使用ViewState(因此值会在回发上保留)。
如果您希望在<span />
代码中呈现结果,则可以使用<asp:Label />
控件。这通常是向用户显示消息的最佳选择。