'username'は現在のコンテキストに存在しません

2016-11-03 8 views
0

IDはItemTemplateの中にあり、コードファイル内に見つかりません。'username'は現在のコンテキストに存在しません

<form id="form1" runat="server"> 
    <asp:SqlDataSource ID="searchresults" runat="server" 
         ConnectionString='<%$ ConnectionStrings:AgileDatabaseConnection %>' 
         SelectCommand=" SELECT [userID], [userName], [firstName],[lastName],[password], [email] FROM [Users] WHERE ([email] LIKE '%' + @email + '%')"> 
     <selectparameters> 
      <asp:querystringparameter querystringfield="searchquery" name="email" type="String"></asp:querystringparameter> 
     </selectparameters> 
    </asp:SqlDataSource> 

    <asp:ListView ID="displayitems" runat="server" DataSourceID="searchresults"> 
     <itemtemplate> 
      <asp:label runat="server" associatedcontrolid="projectOwner" cssclass="col-md-2 control-label">Project Owner:</asp:label> 
      <div class="col-md-10"> 
       <asp:TextBox runat="server" ID="ProjectOwner" CssClass="form-control" /><br /> 
       <asp:label runat="server" associatedcontrolid="projectOwner" cssclass="col-md-2 control-label">Scrum Master:</asp:label> 
       <div class="col-md-10"> 
        <asp:SqlDataSource ID="ScrumMaster" runat="server" ConnectionString='<%$ ConnectionStrings:AgileDatabaseConnection %>' SelectCommand="SELECT userName FROM [Users]"></asp:SqlDataSource> 
        <asp:dropdownlist runat="server" id="usertype" DataSourceID="ScrumMaster" DataTextField="userName"></asp:dropdownlist><br /> 
       </div> 
      </div> 

      <asp:label runat="server" cssclass="col-md-2 control-label">Email:</asp:label> 
      <asp:Label Text='<%#Eval("email") %>' runat="server" ID="emaillabel" /><br /> 
      <asp:label runat="server" cssclass="col-md-2 control-label">UserName:</asp:label> 
      <asp:Label Text='<%#Eval("userName") %>' runat="server" ID="username" /><br /> 

      <asp:label runat="server" cssclass="col-md-2 control-label">UserID:</asp:label> 
      <asp:Label runat="server" Text='<%#Eval("userID") %>' ID="UserID" CssClass="form-control" /> 
      <br /> 
      <div class="actions"></div> 

      <asp:Button Text="Add" runat="server" class="btn pull-right" ID="uploadbutton" OnClick="add_Click"></asp:Button> 
      </div> 
     </itemtemplate> 
    </asp:ListView> 
    <emptydatatemplate> 

     <span>No users match <asp:Label Text='' runat="server" ID="email" /> .</span> 

    </emptydatatemplate> 
</form> 

C#では「userName」が見つかりません。バックエンドコード:

string ownerName = ProjectOwner.Text; 
string IDuser = username.Text; 
string IDdata = Session["userID"].ToString(); 

私はどのようにしてuserName値を取得しますか?

+0

他のフィールドがうまく解決されますか? – McNets

+0

リストビュー内に2番目のSqlDataSourceがあります – McNets

+0

こんにちは私はprojectownerが解決されていないと投稿していません。 –

答えて

0

ListViewは複数のアイテムを返すことができるので、コードの背後にはitensコントロール(usernameとProjectOwner)のどちらが話しているのかわからないということです。

あなたは各項目の同じことをしたい場合は、次のように行うことができます。

protected void displayitems_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     string ownerName = ((TextBox)e.Item.FindControl("ProjectOwner")).Text; 
     string IDuser = ((Label)e.Item.FindControl("username").Text; 
     string IDdata = Session["userID"].ToString(); 
    } 
} 
+0

FindControlでエラーが発生する 'System.Web.UI.WebControls.ListItemViewEventArgs'にはFindControlと拡張メソッドの定義が含まれていません。 'FindControl'は 'System.Web.UI.WebControls'型の最初の引数を受け取ります.ListItemViewEventArgs 'が見つかりました –

+0

何のエラーが表示されますか? –

+0

System.Web.UI.WebControls.ListItemViewEventArgs 'にFindControlの定義がなく、拡張メソッドがありません' FindControl '' System.Web.UI.WebControls.ListItemViewEventArgs 'タイプの最初の引数を受け入れることが見つかりました –

関連する問題