我想为Gridview设置一个CommandArgument,但是如果我运行这个程序,就会发生错误。
下面是我的ButtonField声明:
<asp:ButtonField Text="Löschen" CommandName="Deleterecord" ButtonType="Button" CommandArgument=<% Eval("userId") %> /> 这是一个错误:
Parser Error Message: Literal content ('<asp:ButtonField Text="Löschen" CommandName="Deleterecord" ButtonType="Button" CommandArgument=') is not allowed within a 'System.Web.UI.WebControls.DataControlFieldCollection'.编辑:
使用这些代码块,我填充了我的Gridview:
protected void Button2_Click(object sender, EventArgs e)
{
Guid g = Guid.Parse("ef7a9f97-6a9a-44c6-ac38-82a5d06c394e");
RoutesManager rm = new RoutesManager(g);
rm.GetAllRoutes();
List<Route> result;
result=rm.GetAllRoutes();
GridView1.DataSource = result;
GridView1.DataBind();
}这是GetallRoutes:
public List<Route> GetAllRoutes()
{
var inputParams = new Dictionary<string, object>();
var xmlHelper = new XmlHelper();
var result = new List<Route>();
inputParams.Add("UserId", _userId);
DataTable dt = _dbhelper.Select("SELECT * FROM ROUTES WHERE UserId=@UserId", inputParams);
foreach (DataRow row in dt.Rows)
{
var xmlDoc = new XmlDocument();
xmlDoc.LoadXml(row[XmldocPosition].ToString());
result.Add(xmlHelper.ConvertXmlDocumentToRoute(xmlDoc.ToXDocument()));
}
return result;}
我的网格视图中满是这段代码,我在我的Gridview中为每一行添加了一个链接按钮,如果用户单击此按钮,则只从DB和Gridview中删除此行
发布于 2012-06-17 18:33:40
你失踪了
userID
<asp:ButtonField Text="Löschen" CommandName="Deleterecord" ButtonType="Button" CommandArgument='<%# Eval("userId") %>' />
发布于 2012-06-17 18:28:39
CommandArgument="<% Eval(userId) %>"试着检查语句的格式。注意“”和“结束”。
https://stackoverflow.com/questions/11073728
复制相似问题