傻傻一问(新手),如何构造网页啊?

owenliangbin 2011-12-01 11:35:31
简单场景:
aspx1有个button,点击请求详细信息。服务端触发事件,获取DataTable,根据DataTable的内容构造一个aspx2给显示。
如何构造aspx2呢。

OK,button可以要求重定向aspx2.aspx2PageLoad的时候通过DataTable构造页面(类似报表的页面),不用GridView,只是根据DataTable每行得内容构造HTML内容。
我试过Response.Write可以将内容写到页面中,可是当我打开源码看得时候发现:Reponse.Write的内容是写到了Html码的最前端,而不是再Body中增加。请问如何在指定位置编辑自己的标签及内容啊?


ASP是将构造页面的工作在服务端运行了。如果我使用JSP,是否同样可以将这种工作在客户端进行啊(获取序列化后的DataTable)?
...全文
88 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
owenliangbin 2011-12-02
  • 打赏
  • 举报
回复
因为,个人觉得ASP以控件绑定的方式显示数据太单一了。
guijingcun 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 owenliangbin 的回复:]
引用 1 楼 guijingcun 的回复:

构造一个string 方法,在这里写上你想要的标签
比如
public string GetInput()
{
return "<asp:TextBox ID=\"TextBox1\" runat=\"server\"></asp:TextBox>";
}

前台在你想要显示的地方写上
<%=GetInput()%>

谢谢。……
[/Quote]
我基本不用,根据你的爱好
owenliangbin 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 guijingcun 的回复:]

构造一个string 方法,在这里写上你想要的标签
比如
public string GetInput()
{
return "<asp:TextBox ID=\"TextBox1\" runat=\"server\"></asp:TextBox>";
}

前台在你想要显示的地方写上
<%=GetInput()%>
[/Quote]
谢谢。弱弱问一句,你们开发ASP的项目,是使用这种方式的吗?
紫魂一号 2011-12-02
  • 打赏
  • 举报
回复
在那个页面加一个容器啥,然后在容器里动态构造
guojia2012 2011-12-02
  • 打赏
  • 举报
回复
可以使用Literal1控件,可以把这个空间放在任意你想放置的位置上,在后台你可以把你所想要显示的信息写进去。

Literal1.Text = null;
DataTable dt_sc = orahelp.ExecuteDataTable(sql);
StringBuilder sb = new StringBuilder();
// sb.AppendFormat("<table >");
sb.AppendFormat("<tr align ='center' height='30' style=\"color: #000000\">");
sb.AppendFormat("<td class=\"mtabtithead\" nowrap=\"nowrap\" width='10%'>部门</td>");
sb.AppendFormat("<td class=\"mtabtithead\" nowrap=\"nowrap\" width='20%'>人员</td>");
sb.AppendFormat("<td class=\"mtabtithead\" nowrap=\"nowrap\" width='10%'>人员姓名</td>");
sb.AppendFormat("<td class=\"mtabtithead\" nowrap=\"nowrap\" width='20%'>人员电话</td>");
sb.AppendFormat("<td class=\"mtabtithead\" nowrap=\"nowrap\" width='20%'>人员职务</td>");

sb.AppendFormat("<td class=\"mtabtithead\" nowrap=\"nowrap\" width='10%'>编辑</td>");
sb.AppendFormat("<td class=\"mtabtithead\" nowrap=\"nowrap\" width='10%'>删除</td>");
sb.AppendFormat("</tr>");
if (dt_sc.Rows.Count > 0)
{
for (int i = 0; i < dt_sc.Rows.Count; i++)
{
sb.AppendFormat("<tr height='25 'onmouseover=\"changeto()\" onmouseout=\"changeback()\" >");

sb.AppendFormat("<td class=\"mtabtabtd\">{0}</td>", dt_sc.Rows[i]["bmm"].ToString());//
sb.AppendFormat("<td class=\"mtabtabtd\">{0}</td>", dt_sc.Rows[i]["ryid"].ToString());//
sb.AppendFormat("<td class=\"mtabtabtd\">{0}</td>", dt_sc.Rows[i]["ryxm"].ToString());//
sb.AppendFormat("<td class=\"mtabtabtd\">{0}</td>", dt_sc.Rows[i]["rydh"].ToString());//
sb.AppendFormat("<td class=\"mtabtabtd\">{0}</td>", dt_sc.Rows[i]["ryzw"].ToString());//
sb.AppendFormat("<td class=\"mtabtabtd\"><a href=\"ryxx_xg.aspx?ryid={0}& tx={1}\" target=\"_self\" >编辑</a> </td>", dt_sc.Rows[i]["ryid"].ToString(), dt_sc.Rows[i]["rytx"].ToString());//
sb.AppendFormat("<td class=\"mtabtabtd\"><a href=\"#\" onclick=\"del(this,'{0}')\"> 删除</a> </td>", dt_sc.Rows[i]["ryid"].ToString());//
sb.AppendFormat("</tr>");

}
}
// sb.AppendFormat("</table>");
Literal1.Text = sb.ToString();
dongt1 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 guijingcun 的回复:]
构造一个string 方法,在这里写上你想要的标签
比如
public string GetInput()
{
return "<asp:TextBox ID=\"TextBox1\" runat=\"server\"></asp:TextBox>";
}

前台在你想要显示的地方写上
<%=GetInput()%>
[/Quote]+++++
阿非 2011-12-02
  • 打赏
  • 举报
回复
用绑定变量的思路是可以的,但 return "<asp:TextBox ID=\"TextBox1\" runat=\"server\"></asp:TextBox>"; 的写法 需要找书学习下。

请问如何在指定位置编辑自己的标签及内容啊?。
---------------------------
最简单的方式有两种,一种是考虑状态保持,一种是不考虑

考虑的话,用Literal 这个控件

把它放在你想输出的位置,然后在后台设置他的Text 属性即可

不考虑的话 就用绑定变量的方式 <%= %> 把它放在你输出的位置

但要注意的是 变量的访问级别至少也要是protected的

=========================
如果我使用JSP,是否同样可以将这种工作在客户端进行啊

jsp中没有服务器端控件的概念,它是在.jsp 文件中写java 语句块

EL 就是 <%= %> 的形式

JSTL :

<table border=1>
<tr><td>ID</td><td>用户名</td><td>密码</td></tr>
<c:forEach items="${requestScope.list}" var="list" >
<tr>
<td><c:out value="${list.id}"/></td>
<td><c:out value="${list.name}"/></td>
<td><c:out value="${list.password}"/></td>
</tr>
</c:forEach>
</table>


后来的JSF 采用了事件驱动
guijingcun 2011-12-01
  • 打赏
  • 举报
回复
构造一个string 方法,在这里写上你想要的标签
比如
public string GetInput()
{
return "<asp:TextBox ID=\"TextBox1\" runat=\"server\"></asp:TextBox>";
}

前台在你想要显示的地方写上
<%=GetInput()%>

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧