<td height="22"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="22" align="center"><img src="../images/DD.gif" width="9" height="9"></td>
<td height="22"><a href="Modul1.aspx" target="main">模块一</a></td>
</tr>
<tr>
<td height="22" align="center"><img src="../images/DD.gif" width="9" height="9"></td>
<td height="22"><a href="Modul1.aspx" target="main">模块二</a></td>
</tr>
<tr>
<td height="22" align="center"><img src="../images/DD.gif" width="9" height="9"></td>
<td height="22"><a href="Modul1.aspx" target="main">模块三</a></td>
</tr>
<tr>
<td height="22" align="center"><img src="../images/DD.gif" width="9" height="9"></td>
<td height="22"><a href="Modul1.aspx" target="main">模块四</a></td>
</tr>
</table></td>
在这些页面中,我要做的事情是:
1:动态生成这些table。
2:在用户单击《模块X》的时候,连接到另外一个页面中。在连接到另外一个页面前,要检测用户单击的是《模块一》还是《模块几》,然后根据用户单击的模块添加不同的session。这个session是一个名字,这不过不同的值。
请问,我要做如上两个如何做?
<tr>
<td height="22" align="center"><img src="../images/DD.gif" width="9" height="9"></td>
<td height="22"><a href="Modul1.aspx" target="main">模块一</a></td>
</tr>
<tr>
<td height="22" align="center"><img src="../images/DD.gif" width="9" height="9"></td>
<td height="22"><a href="Modul1.aspx" target="main">模块二</a></td>
</tr>
<tr>
<td height="22" align="center"><img src="../images/DD.gif" width="9" height="9"></td>
<td height="22"><a href="Modul1.aspx" target="main">模块三</a></td>
</tr>
<tr>
<td height="22" align="center"><img src="../images/DD.gif" width="9" height="9"></td>
<td height="22"><a href="Modul1.aspx" target="main">模块四</a></td>
</tr>
</table></td>
在这些页面中,我要做的事情是:
1:动态生成这些table。
2:在用户单击《模块X》的时候,连接到另外一个页面中。在连接到另外一个页面前,要检测用户单击的是《模块一》还是《模块几》,然后根据用户单击的模块添加不同的session。这个session是一个名字,这不过不同的值。
请问,我要做如上两个如何做?
2 js创建table
1,动态生成用一个循环
2,估计要在你的modul1.aspx后加个参数来实现
你们一定做过web开发中outlook样式的那样的web站点,在这样的web页面中,被一个框架分成三部分。一部分是buttom,一部分是left,一不分是right。在left那部分,是个outlook样式的菜单,单击某个菜单,left部分就会出现相对应的模块界面供别人使用。
分不够可以在加。
{
TableRow row = new TableRow();
for (int j = 0; j < 列数; j++)
{
TableCell cell = new TableCell();
cell.Text ="<a href=\"目标页.aspx?参数=" + 模块数[i] + "\">查看详细</a>";
}
row.Cells.Add(cell);
}
mytable.Rows.Add(row);//mytable为你的table控件id
<%for(int i=0;i<dsModule.Table[0].Rows.Count;i++){%>
<tr>
<td height="22" align="center"><img src="../images/DD.gif" width="9" height="9"></td>
<td height="22">
<a href="Modul1.aspx?id=<%=dsModule.Tables[0].Rows[i]["MODULE_ID"].ToString()%>" target="main">
<%=dsModule.Tables[0].Rows[i]["MODULE_NAME"].ToString()%>
</a></td>
</tr>
<%}%>
</table></td>
传过去个ModuleId总别用Session好吧
cell.Text ="<a href=\"目标页.aspx?参数=" + 模块数[i] + "\">查看详细
这样的方式传递就暴露在客户端。别人知道参数结构后,别人通过构造一个url的方式访问我的页面。这样就很不安全。
有没有什么办法,在单击了table(html的table,而不是服务组件的table)中的子菜单名后,触发一个事件,等该事件执行完后(执行时间会很短,就是给session参数赋值)在转到相对应的url中
{
TableRow row = new TableRow();
for (int j = 0; j < 列数; j++)
{
TableCell cell = new TableCell();
Button but = new Button();
but.CssClass = "button";
but.Text = "确定";
but.Attributes.Add("prjId",模块[i])
but.Click += new EventHandler(delete);
cell.Controls.Add(but); }
row.Cells.Add(cell);
}
mytable.Rows.Add(row);//mytable为你的table控件id
protected void delete(object sender, EventArgs e)
{
Button but = (Button)sender;
string i= but.Attributes["prjId"].ToString();//模块参数
}