祝你有个愉快的一天。 我尝试创建一个aspx文件,生成带有DB数据的html表。 Html表包含4列(第一行 - 第二行,第二列在行中包含相同的值,因此我使用rowspan()来连接行,第三列是某些值,第四列 - 按钮)
创建表
foreach (var group in grouped)
{
j++;
int k = 1;
group.Count().ToString();
%>
<%
Response.Write("<tr><td rowspan=" + group.Count().ToString() + "\">" + j + "</td>");
Response.Write("<td rowspan=" + group.Count().ToString() + "\">" + group.Key.ToString() + "</td>");
foreach (var innerlist in group)
{
if (k == 1)
{
Response.Write("<td>" + innerlist[0] + "</td>" );
}
if (k != 1)
{
Response.Write("<tr>" + "<td>" + innerlist[0] + "</td>" );
}
Response.Write("<td > <button id=\"some_id1\" onserverclick=\"doit\" runat="server" > кнопка </button> </td> </tr>");
k++;
}
在脚本部分我创建
<script runat="server">
protected void doit(Object sender, EventArgs e)
{
ViewState["count"] = Convert.ToInt32(ViewState["count"]) + 1;
Span1.InnerHtml = "You clicked Button1 " + ViewState["count"].ToString();
}
</script>
当我点击html中的按钮时没有任何事情发生,什么是错的? ViewState包含在Page_Load中(见下文)
从DB读取数据我尝试添加到Page_Load,但是array_list_result在标签主体中不可用。如何解决?
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["Count"] = 0;
List<List<string>> array_list_result = new List<List<string>>();
DataObjectList LotPhisParam = Session.Land_LotPhisParameters.Query("<Object/>", "ObjectID <> '' AND ObjectID IS NOT NULL");
// LotPhisParam.ToArray().GroupBy;
for (Int32 i = 0; i < LotPhisParam.Count; i++)
{
List<string> temp_string = new List<string> { LotPhisParam[i].Id.ToString(), LotPhisParam[i].GetLink("Object").Id.ToString() };
array_list_result.Add(temp_string);
// LotPhisParam[i].Delete();
// Session.Commit();
}
}
}
答案 0 :(得分:0)
将标记写入父html元素会更好。说一个可以从服务器端访问的div。
不要使用Response.Write