我目前正在开展一个项目并陷入困境。我有一个Literal
控件,放在我的.aspx页面中,我使用这样的stringbuilder来填充数据:
public string CreateNewEntry(String garageName, String garageType,String garageAdress, String garagePhone, String garageId)
{
StringBuilder sb = new StringBuilder();
sb.Append(@"<tr class=""odd"">");
sb.Append(@"<td class=""v-middle"">");
sb.Append(garageName);
sb.Append(@"</td>");
sb.Append(@"<td class=""v-middle"">");
sb.Append(garageType);
sb.Append(@"</td>");
sb.Append(@"<td class=""v-middle"">");
sb.Append(garageAdress);
sb.Append(@"</td>");
sb.Append(@"<td class=""v-middle"">");
sb.Append(garagePhone);
sb.Append(@"</td>");
sb.Append(@"<td class="""">");
sb.Append(@"<a href=""#"" class=""btn btn-sm btn-icon btn-success"" id=""");
sb.Append("edit"+garageId);
sb.Append(@""" name=""");
sb.Append("edit"+garageId);
sb.Append(@"""runat=""server"" OnServerClick=""processRowButtonClick""><i class=""fa fa-edit""></i></a>");
sb.Append(@"<a href=""#"" class=""btn btn-sm btn-icon btn-danger"" id=""");
sb.Append("delete"+garageId);
sb.Append(@""" name=""");
sb.Append("delete"+garageId);
sb.Append(@"""runat=""server"" OnServerClick=""processRowButtonClick""><i class=""fa fa-ban fa-indent""></i></a></td></tr>");
return sb.ToString();
}
然后我运行一个SQL查询,收集数据并通过foreach循环将其循环到Literal controller
。
public void garageViewPopulator()
{
serviceDatabaseDataContext dbQuery = new serviceDatabaseDataContext();
var query = (from GarageDetails in dbQuery.GarageDetails
select GarageDetails);
String _constructorString = "";
NewListEntry tableEntry = new NewListEntry();
foreach (GarageDetail item in query)
{
//Creating new HTML code from the class above
_constructorString += tableEntry.CreateNewEntry(item.garageName.ToString(), item.garageType.ToString(), item.garageAdress.ToString(), item.garagePhone.ToString(), item.garageId.ToString());
}
// My litteral
garageListHolder.Text = _constructorString;
}
然后我有一个:
protected void processRowButtonClick (object sender, EventArgs e)
{
//Retrieve what button id was pressed, and exec action.
}
在我的代码隐藏文件中。我假设当用户按下我生成的表格中的按钮时会调用它。
有两个问题,是否可以这样做?当我从代码生成按钮时,代码会将按钮注册为可点击吗?因为现在,单击它们不会在后面的代码中执行当前的 processRowButtonClick 函数。
其次,如果可以,我如何获得按下按钮的名称/ ID?有人有任何意见吗?
(实现我想要做的事情可能更容易,所以我很乐意接收有关更好解决方案的信息)。