2012-06-17 73 views
0

我想爲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

+0

你知道你的eval st缺少一個左括號? – dash

+0

我是這麼認爲的!在結果集中使用userid字段嗎? CommandArgument =「<%# UserId %>」是否有效? – dash

+0

用戶無法在gridview中看到此字段。此字段是Table的主鍵,我想要獲取此值,然後從Gridview中刪除此行 – Baper

回答

0

您在userID

  • 單引號缺少

    • 右括號
    • 雙引號包含所產生的CommandArgument的值

      <asp:ButtonField Text="Löschen" CommandName="Deleterecord" ButtonType="Button" CommandArgument='<%# Eval("userId") %>' />

  • +0

    我更喜歡所有的東西,你saud.but問題仍然存在:( – Baper

    +0

    我認爲#仍然從上面的聲明中缺少它必須是 <%#Eval(「userId」)%> – Vishal

    +0

    @Vishal Sachdeva:你說得對,我已經更新了答案 – codingbiz

    0
    CommandArgument="<% Eval(userId) %>" 
    

    嘗試檢查語句的格式。注意「」和結束)。

    相關問題