我想爲Gridview設置一個CommandArgument,但是如果我運行該程序,則會發生錯誤。爲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 [email protected]", 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的每一行,我想如果用戶點擊這個按鈕只這一行從數據庫中刪除並且Gridview
你知道你的eval st缺少一個左括號? – dash
我是這麼認爲的!在結果集中使用userid字段嗎? CommandArgument =「<%# UserId %>」是否有效? – dash
用戶無法在gridview中看到此字段。此字段是Table的主鍵,我想要獲取此值,然後從Gridview中刪除此行 – Baper